# <img src="https://raw.githubusercontent.com/steveberardi/starplot/main/docs/images/favicon.svg" width="48" style="vertical-align:middle"> Starplot
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/steveberardi/starplot/test.yml?style=for-the-badge&color=a2c185)
![Python](https://img.shields.io/pypi/pyversions/starplot?style=for-the-badge&color=85A2C1)
![PyPI](https://img.shields.io/pypi/v/starplot?style=for-the-badge&color=85C0C1)
![License](https://img.shields.io/github/license/steveberardi/starplot?style=for-the-badge&color=A485C1)
**Starplot** is a Python library for creating star charts and maps.
- β **Zenith Plots** - showing the stars from a specific time/location
- πΊοΈ **Map Plots** - including North/South polar and Mercator projections
- π **Optic Plots** - simulates what you'll see through an optic (e.g. binoculars, telescope) from a time/location
- πͺ **Planets and Deep Sky Objects (DSOs)**
- π¨ **Custom Styles** - for all objects
- π₯ **Export** - png, svg
- π§ **Label Collision Avoidance**
## Examples
*Zenith plot of the stars from a specific time/location:*
![starchart-blue](https://starplot.dev/images/examples/star_chart_basic.png)
*Map around the constellation Orion:*
![map-orion](https://starplot.dev/images/examples/map_orion.png)
*Optic plot of The Pleiades through a refractor as seen from a specific time/location:*
![optic-pleiades](https://starplot.dev/images/examples/optic_m45.png)
## Basic Usage
To create a star chart for tonight's sky as seen from [Palomar Mountain](https://en.wikipedia.org/wiki/Palomar_Mountain) in California:
```python
from datetime import datetime
from pytz import timezone
import starplot as sp
tz = timezone("America/Los_Angeles")
p = sp.MapPlot(
projection=sp.Projection.ZENITH,
lat=33.363484,
lon=-116.836394,
dt=datetime.now(tz).replace(hour=22),
style=sp.styles.PlotStyle().extend(
sp.styles.extensions.BLUE_MEDIUM,
sp.styles.extensions.ZENITH,
),
resolution=2000,
)
p.constellations()
p.stars(mag=4.6)
p.export("starchart.png")
```
## Documentation
[https://starplot.dev](https://starplot.dev)
## Demo
For a demo of Starplot's zenith plots, check out:
[Sky Atlas - Star Chart Creator](https://skyatlas.app/star-charts/)
## Discord
Chat with other starplotters on our Discord server:
https://discord.gg/bwazdyD7
## Core Dependencies
- matplotlib
- pandas
- numpy
- geopandas
- cartopy
- skyfield
- pydantic
- adjustText
## Coming Soon
- π Planet moons
- β΄οΈ Custom markers
- π Plotting Optimizations
- π More Nebula outline levels
- βοΈ Better auto font-size adjustment
See more details on the [Public Roadmap](https://starplot.notion.site/aaa0dd71c17943f89850c9a8c43ade50)
## License
[MIT License](https://github.com/steveberardi/starplot/blob/main/LICENSE)
Raw data
{
"_id": null,
"home_page": null,
"name": "starplot",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "astronomy, stars, charts, maps, constellations",
"author": null,
"author_email": "Steve Berardi <hello@steveberardi.com>",
"download_url": "https://files.pythonhosted.org/packages/f7/85/5daec2bae3cf664685e62632ec8f5580b257346b4443cceb4db9aa402724/starplot-0.10.2.tar.gz",
"platform": null,
"description": "# <img src=\"https://raw.githubusercontent.com/steveberardi/starplot/main/docs/images/favicon.svg\" width=\"48\" style=\"vertical-align:middle\"> Starplot\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/steveberardi/starplot/test.yml?style=for-the-badge&color=a2c185)\n![Python](https://img.shields.io/pypi/pyversions/starplot?style=for-the-badge&color=85A2C1)\n![PyPI](https://img.shields.io/pypi/v/starplot?style=for-the-badge&color=85C0C1)\n![License](https://img.shields.io/github/license/steveberardi/starplot?style=for-the-badge&color=A485C1)\n\n**Starplot** is a Python library for creating star charts and maps.\n\n- \u2b50 **Zenith Plots** - showing the stars from a specific time/location\n- \ud83d\uddfa\ufe0f **Map Plots** - including North/South polar and Mercator projections\n- \ud83d\udd2d **Optic Plots** - simulates what you'll see through an optic (e.g. binoculars, telescope) from a time/location\n- \ud83e\ude90 **Planets and Deep Sky Objects (DSOs)**\n- \ud83c\udfa8 **Custom Styles** - for all objects\n- \ud83d\udce5 **Export** - png, svg\n- \ud83e\udded **Label Collision Avoidance**\n\n## Examples\n*Zenith plot of the stars from a specific time/location:*\n![starchart-blue](https://starplot.dev/images/examples/star_chart_basic.png)\n\n*Map around the constellation Orion:*\n![map-orion](https://starplot.dev/images/examples/map_orion.png)\n\n*Optic plot of The Pleiades through a refractor as seen from a specific time/location:*\n![optic-pleiades](https://starplot.dev/images/examples/optic_m45.png)\n\n## Basic Usage\n\nTo create a star chart for tonight's sky as seen from [Palomar Mountain](https://en.wikipedia.org/wiki/Palomar_Mountain) in California:\n\n```python\nfrom datetime import datetime\nfrom pytz import timezone\nimport starplot as sp\n\ntz = timezone(\"America/Los_Angeles\")\n\np = sp.MapPlot(\n projection=sp.Projection.ZENITH,\n lat=33.363484,\n lon=-116.836394,\n dt=datetime.now(tz).replace(hour=22),\n style=sp.styles.PlotStyle().extend(\n sp.styles.extensions.BLUE_MEDIUM,\n sp.styles.extensions.ZENITH,\n ),\n resolution=2000,\n)\np.constellations()\np.stars(mag=4.6)\np.export(\"starchart.png\")\n```\n\n## Documentation\n\n[https://starplot.dev](https://starplot.dev)\n\n\n## Demo\nFor a demo of Starplot's zenith plots, check out: \n\n[Sky Atlas - Star Chart Creator](https://skyatlas.app/star-charts/)\n\n## Discord\n\nChat with other starplotters on our Discord server:\n\nhttps://discord.gg/bwazdyD7\n\n## Core Dependencies\n\n- matplotlib\n- pandas\n- numpy\n- geopandas\n- cartopy\n- skyfield\n- pydantic\n- adjustText\n\n## Coming Soon\n- \ud83c\udf11 Planet moons\n- \u2734\ufe0f Custom markers\n- \ud83d\ude80 Plotting Optimizations\n- \ud83d\udcd0 More Nebula outline levels\n- \u2696\ufe0f Better auto font-size adjustment\n\nSee more details on the [Public Roadmap](https://starplot.notion.site/aaa0dd71c17943f89850c9a8c43ade50)\n\n## License\n[MIT License](https://github.com/steveberardi/starplot/blob/main/LICENSE)\n",
"bugtrack_url": null,
"license": null,
"summary": "Star charts and maps",
"version": "0.10.2",
"project_urls": {
"Documentation": "https://starplot.dev",
"Home": "https://starplot.dev",
"Source": "https://github.com/steveberardi/starplot"
},
"split_keywords": [
"astronomy",
" stars",
" charts",
" maps",
" constellations"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5196899716ceef3c5b9dd92538d64fa8ec8ca9d4b6f5f3c500d7d1ef9f65ab1c",
"md5": "76bfa611f32948eac9bf3c127cfcfa98",
"sha256": "c92dac696746c8c4f971a6f723339899eca13163f7af10f9ac63a2fbfbac17c5"
},
"downloads": -1,
"filename": "starplot-0.10.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "76bfa611f32948eac9bf3c127cfcfa98",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 62699414,
"upload_time": "2024-05-07T13:45:17",
"upload_time_iso_8601": "2024-05-07T13:45:17.660662Z",
"url": "https://files.pythonhosted.org/packages/51/96/899716ceef3c5b9dd92538d64fa8ec8ca9d4b6f5f3c500d7d1ef9f65ab1c/starplot-0.10.2-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f7855daec2bae3cf664685e62632ec8f5580b257346b4443cceb4db9aa402724",
"md5": "d19332e2a11aafefe290fb8619632e9a",
"sha256": "99b94f575c2650afa93d76411d70394d2976fbb3381da7c52f8b2a5243f5e158"
},
"downloads": -1,
"filename": "starplot-0.10.2.tar.gz",
"has_sig": false,
"md5_digest": "d19332e2a11aafefe290fb8619632e9a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 63080106,
"upload_time": "2024-05-07T13:45:23",
"upload_time_iso_8601": "2024-05-07T13:45:23.542656Z",
"url": "https://files.pythonhosted.org/packages/f7/85/5daec2bae3cf664685e62632ec8f5580b257346b4443cceb4db9aa402724/starplot-0.10.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-07 13:45:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "steveberardi",
"github_project": "starplot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "matplotlib",
"specs": [
[
"==",
"3.8.4"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"1.26.2"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "shapely",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "skyfield",
"specs": [
[
"==",
"1.48"
]
]
},
{
"name": "adjustText",
"specs": [
[
"==",
"1.0"
]
]
},
{
"name": "cartopy",
"specs": [
[
"==",
"0.22.0"
]
]
},
{
"name": "geopandas",
"specs": [
[
"==",
"0.13.2"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"10.0.0"
]
]
},
{
"name": "PyYAML",
"specs": [
[
"==",
"6.0.1"
]
]
},
{
"name": "pyarrow",
"specs": [
[
"==",
"14.0.2"
]
]
},
{
"name": "fastparquet",
"specs": [
[
"==",
"2023.10.1"
]
]
},
{
"name": "pyogrio",
"specs": [
[
"==",
"0.7.2"
]
]
},
{
"name": "rtree",
"specs": [
[
"==",
"1.2.0"
]
]
}
],
"lcname": "starplot"
}