diff --git a/.gitignore b/.gitignore index 6b059ce7..0b74cdd4 100644 --- a/.gitignore +++ b/.gitignore @@ -38,12 +38,16 @@ temp.py temp/ # raw/ scripts/temp/ +plots/ +scripts/__marimo__/ # Documentation Generated Files examples/*.png examples/*.jpg +examples/*.svg docs/images/examples/*.png docs/images/examples/*.jpg +docs/images/examples/*.svg tutorial/*.png docs/images/tutorial/*.png docs/data/*.json diff --git a/CITATION.cff b/CITATION.cff index d5b75fbb..a79a4857 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -20,5 +20,5 @@ keywords: - graphs - plotting license: MIT -version: 0.20.4 -date-released: '2026-05-19' +version: 0.20.5 +date-released: '2026-08-18' diff --git a/Makefile b/Makefile index 0a5e96f3..9387f507 100644 --- a/Makefile +++ b/Makefile @@ -125,10 +125,10 @@ docs-publish: # ------------------------------------------------------------------ # PyPi - build & publish flit-build: - $(DOCKER_RUN) "python -m flit build" + $(DOCKER_RUN) "uv run flit build" flit-publish: - $(DOCKER_RUN) "python -m flit publish" + $(DOCKER_RUN) "uv run flit publish" flit-install: FLIT_ROOT_INSTALL=1 flit install diff --git a/README.md b/README.md index 71bda3a4..33f0748e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ - 🚀 **Data Backend** - powered by DuckDB + Ibis for fast object lookup - 📓 **Custom Data Catalogs** - with helpers for building and optimizing - 🧭 **Label Collision Avoidance** - ensuring all labels are readable -- 🌐 **Localization** - label translations for Chinese, French, Lithuanian, Persian, and Spanish +- 🌐 **Localization** - label translations for Chinese, French, Italian, Lithuanian, Persian, and Spanish ## Examples *Zenith chart of the stars from a specific time/location:* diff --git a/data/raw/translations/readme.md b/data/raw/translations/readme.md index f72ac354..0a42c5ca 100644 --- a/data/raw/translations/readme.md +++ b/data/raw/translations/readme.md @@ -17,9 +17,25 @@ The format of each file should be pretty self-explanatory, but here's a referenc - `open_ngc_name` = Name of a DSO (as designated in OpenNGC) - `iau_id` = Three letter IAU abbreviation of a constellation -## 🙋‍♂️ Help Wanted +## Submitting a new translation -If you're interested in helping with these translations (either finding and correcting errors or adding a new language), please open a PR with updates to these files. +Please follow these steps in a pull request to submit a new translation: + +1. Create a new directory here (`data/raw/translations`) with the name in [ISO-639-1 format](https://en.wikipedia.org/wiki/ISO_639-1) +2. In that new directory, create the following files (in the format of existing files): + - `constellation_names.csv` + - `dso_names.csv` + - `other_terms.csv` + - `star_names.csv` +3. Add the ISO-639-1 code to: + - `LANGUAGES` list [here](https://github.com/steveberardi/starplot/blob/main/src/starplot/data/translations.py) + - Doc-string for `Settings.language` [here](https://github.com/steveberardi/starplot/blob/main/src/starplot/config.py) +4. Copy the values from `other_terms.csv` to the `LABELS` dictionary [here](https://github.com/steveberardi/starplot/blob/main/src/starplot/data/translations.py) +5. Include a `readme.md` file in the data folder that explains the source of the translation (e.g. a well known astronomy book in the language, astronomical society, etc) - [see example here](https://github.com/steveberardi/starplot/blob/main/data/raw/translations/it/readme.md) + +## Reviewing / fixing existing translations + +If you spot an error or think there's a better translation for something in one of the existing translations, please let us know by submitting a PR with the correction, and including a source or explanation of the correction. Thanks for your help! diff --git a/docs/changelog.md b/docs/changelog.md index d3fcad97..0e851af6 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -14,6 +14,7 @@ - [**v0.20.2**] Restricts Pandas to version `2.2.3` or lower - [**v0.20.3**] Fixes bugs with styling and class variables - [**v0.20.4**] Makes deserializing star data more reliable across environments +- [**v0.20.5**] Adds Italian translation ## v0.19.x [Documentation](https://archives.starplot.dev/0.19.6/) diff --git a/docs/index.md b/docs/index.md index f6650166..cb234659 100644 --- a/docs/index.md +++ b/docs/index.md @@ -36,7 +36,7 @@ Starplot is a Python library for creating star charts and maps of the sky - 🧭 **Label Collision Avoidance** - ensuring all labels are readable -- 🌐 **Localization** - label translations for Chinese, French, Lithuanian, Persian, and Spanish +- 🌐 **Localization** - label translations for Chinese, French, Italian, Lithuanian, Persian, and Spanish --8<-- "docs/snippets/_newsletter.html" diff --git a/docs/reference-localization.md b/docs/reference-localization.md index f772a6df..3df5a509 100644 --- a/docs/reference-localization.md +++ b/docs/reference-localization.md @@ -6,10 +6,10 @@ Starplot's labels are available in the following languages: 1. English (US) - default 2. Chinese (Simplified and Traditional) 3. French -4. Lithuanian -5. Persian (Farsi) -6. Spanish -7. Italian +4. Italian +5. Lithuanian +6. Persian (Farsi) +7. Spanish **Want to see another language available?** Please help us add it! [Details here](https://github.com/steveberardi/starplot/tree/main/data/raw/translations) diff --git a/pyproject.toml b/pyproject.toml index c130f584..92fbf0ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["flit_core >=3.2,<4"] +requires = ["flit_core == 3.12.0"] build-backend = "flit_core.buildapi" [project] @@ -16,10 +16,11 @@ classifiers = [ "Programming Language :: Python :: 3.13", "Framework :: Matplotlib", ] +requires-python = ">=3.10" dynamic = ["version", "description"] keywords = ["astronomy", "stars", "charts", "maps", "constellations", "sky", "plotting"] dependencies = [ - "matplotlib >= 3.8.0", + "matplotlib <= 3.10.9", "numpy >= 1.26.2", "pandas <= 2.2.3", "pydantic >= 2.10.6", @@ -66,7 +67,8 @@ theme = "dark" dev = [ "black==23.3.0", "click==8.2.1", - "flit==3.9.0", + "flit==3.12.0", + "flit_core==3.12.0", "griffe==1.15.0", "imagehash==4.3.1", "ipython==7.12.0", diff --git a/src/starplot/__init__.py b/src/starplot/__init__.py index beadabd7..70eac640 100644 --- a/src/starplot/__init__.py +++ b/src/starplot/__init__.py @@ -2,7 +2,7 @@ """Star charts and maps of the sky""" -__version__ = "0.20.4" +__version__ = "0.20.5" from .plots import ( MapPlot, diff --git a/src/starplot/config.py b/src/starplot/config.py index e8192744..54843276 100644 --- a/src/starplot/config.py +++ b/src/starplot/config.py @@ -65,6 +65,7 @@ class Settings: - `es` = Spanish - `fa` = Persian (Farsi). Make sure you have a Persian font installed that supports RTL (such as [Vazir](https://github.com/rastikerdar/vazir-font) or [Noto Sans Arabic](https://fonts.google.com/noto/specimen/Noto+Sans+Arabic)) and set it as the font in your plot's style. - `fr` = French + - `it` = Italian - `lt` = Lithuanian - `zh-cn` = Chinese. Make sure you have a good Chinese font installed (such as [Noto Sans SC](https://fonts.google.com/noto/specimen/Noto+Sans+SC)) and you'll also need to set that as the font in your plot's style. - `zh-tw` = Traditional Chinese