{"id":31522489,"url":"https://github.com/paulds8/planetoids","last_synced_at":"2026-04-21T05:33:08.028Z","repository":{"id":57453312,"uuid":"206932759","full_name":"paulds8/planetoids","owner":"paulds8","description":"The Terraforming Python Package!","archived":false,"fork":false,"pushed_at":"2019-10-02T14:29:05.000Z","size":57917,"stargazers_count":1,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-03T15:40:31.897Z","etag":null,"topics":["cartography","data-science","gis","jupyterlab","pandas","planetoids","plotly","python","terraform"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paulds8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-07T07:32:33.000Z","updated_at":"2019-11-03T15:17:33.000Z","dependencies_parsed_at":"2022-08-29T08:41:46.209Z","dependency_job_id":null,"html_url":"https://github.com/paulds8/planetoids","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/paulds8/planetoids","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulds8%2Fplanetoids","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulds8%2Fplanetoids/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulds8%2Fplanetoids/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulds8%2Fplanetoids/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paulds8","download_url":"https://codeload.github.com/paulds8/planetoids/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulds8%2Fplanetoids/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32078894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cartography","data-science","gis","jupyterlab","pandas","planetoids","plotly","python","terraform"],"created_at":"2025-10-03T15:07:11.084Z","updated_at":"2026-04-21T05:33:08.023Z","avatar_url":"https://github.com/paulds8.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e\n  \u003ca href=\"https://www.flaticon.com/authors/good-ware\"\u003e\n  \u003cimg src=./docs/astronaut.svg width=100px align=\"left\" title=\"Icon made by Good Ware from Flaticon\"\u003e\n  \u003c/a\u003e\n  Planetoids\n\u003c/h1\u003e\n\nProcedurally generated worlds.\n\n![Build Status](https://img.shields.io/travis/com/paulds8/planetoids)\n![Coverage Status](https://img.shields.io/codecov/c/github/paulds8/planetoids)\n![Codacy Status](https://img.shields.io/codacy/grade/77b39d19f4c54647820cc7b7d22e2f41)\n![Version](https://img.shields.io/pypi/v/planetoids)\n![Status](https://img.shields.io/pypi/status/planetoids)\n![License](https://img.shields.io/pypi/l/planetoids)\n\n\u003ch2\u003eWhat is it?\u003c/h2\u003e\nPlanetoids is a high level Python API for generating interactive, procedurally generated worlds from data in a pandas DataFrame.\n\n\u003ch2\u003eWhat does it do?\u003c/h2\u003e\nCurrently, Planetoids is able to terraform a planet from two-dimensional data that has an optional cluster attribute. It's still very new and will be growing in capabilities, but for now the library can achieve the following when terraforming a new world:\n\n+ generates somewhere in _space_ to render your creation\n+ generates an ecology based on input data statistics\n+ generates land masses\n   + these land masses have \t\n      + topographic detail (contours) \t\n      + relief detail (gradients)\n+ generates lighting effects in the form of a hillshade\n  \n\nYour terraformed world can be rendered using many different map projections for different effects.\n\n\u003ch2\u003eThis is just the beginning\u003c/h2\u003e\n\nI'm hoping to add in hydrological effects, atmospheric effects, bathometry, vegetation, civilizations, animations and a \u003cb\u003ewhole lot more\u003c/b\u003e. If you'd be interested in helping shape and grow this library to its full potential, take a look at the issues with a [good first issue](https://github.com/paulds8/planetoids/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label or raise an issue with features you think the library could benefit from.\n\n\u003ch2\u003eHow to create a Planetoid\u003c/h2\u003e\nCreating a Planetoid is as simple as\n\n```python\nimport planetoids as pt\nplanet = pt.Planetoid(df, x=\"x_column\", y=\"y_column\", cluster_field=\"cluster_column\").fit_terraform()\n```\n\nFor full working examples, check out the interactive online [demo notebooks](https://nbviewer.jupyter.org/github/paulds8/planetoids/blob/master/examples).\n\n\u003ch2\u003eInstalling\u003c/h2\u003e\nPlanetoids depends on:\n\n+ pandas\n+ sklearn\n+ shapely\n+ pyproj\n+ plotly\n+ opencv\n+ and their related dependencies like numpy and scipy\n \n\u003ch3\u003eInstall Options\u003c/h3\u003e\n\nPyPI:\n\n```python\npip install planetoids\n```\n\nManual:\n\n```bash\nwget https://github.com/paulds8/planetoids/archive/master.zip\nunzip master.zip\nrm master.zip\ncd planetoids\npip install -r requirements.txt\n```\n\nIf you're on Windows and installing from PyPI or manually, you may need to install the following packages from the Windows binaries for your Python version here: \n\n+ [shapely](https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely)\n+ [opencv](https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv)\n\nFor use in JupyterLab:\n\nIn order to get planetoids rendering inline within JupyterLab you will need to ensure you have `ipywidgets` installed as well as the following extensions:\n\n```bash\n# Avoid \"JavaScript heap out of memory\" errors during extension installation\n# (OS X/Linux)\nexport NODE_OPTIONS=--max-old-space-size=4096\n# (Windows)\nset NODE_OPTIONS=--max-old-space-size=4096\n\n# Jupyter widgets extension\njupyter labextension install @jupyter-widgets/jupyterlab-manager@1.0 --no-build\n\n# FigureWidget support\njupyter labextension install plotlywidget@1.1.1 --no-build\n\n# and jupyterlab renderer support\njupyter labextension install jupyterlab-plotly@1.1.2 --no-build\n\n# JupyterLab chart editor support (optional)\njupyter labextension install jupyterlab-chart-editor@1.2 --no-build\n\n# Build extensions (must be done to activate extensions since --no-build is used above)\njupyter lab build\n\n# Unset NODE_OPTIONS environment variable\n# (OS X/Linux)\nunset NODE_OPTIONS\n# (Windows)\nset NODE_OPTIONS=\n```\n\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\nThis library is super new, so there's not a ton of documentation to come by _just yet_, but the public-facing API is fully documented [here](https://paulds8.github.io/planetoids/planetoids.m).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulds8%2Fplanetoids","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulds8%2Fplanetoids","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulds8%2Fplanetoids/lists"}