From 43dd63dc7400a5b4df98d7d0e717b43635a78ac9 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Mon, 17 Aug 2026 06:26:08 -0700 Subject: [PATCH 01/12] translation --- .gitignore | 4 ++++ CITATION.cff | 4 ++-- README.md | 2 +- docs/changelog.md | 1 + docs/index.md | 2 +- docs/reference-localization.md | 8 ++++---- src/starplot/__init__.py | 2 +- 7 files changed, 14 insertions(+), 9 deletions(-) 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..66c791c0 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-17' 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/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/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, From 9e1467a7c1652501746253f209dd26c6d69eda3a Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Mon, 17 Aug 2026 06:43:38 -0700 Subject: [PATCH 02/12] docs and pin matplotlib --- data/raw/translations/readme.md | 18 ++++++++++++++++-- pyproject.toml | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/data/raw/translations/readme.md b/data/raw/translations/readme.md index f72ac354..769e6207 100644 --- a/data/raw/translations/readme.md +++ b/data/raw/translations/readme.md @@ -17,9 +17,23 @@ 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 the `LANGUAGES` list [here](https://github.com/steveberardi/starplot/blob/main/src/starplot/data/translations.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/pyproject.toml b/pyproject.toml index c130f584..5a2640a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,7 @@ classifiers = [ 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", From ba8b377c85c325811062cf911b7e393e7cb71bb2 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Mon, 17 Aug 2026 06:50:37 -0700 Subject: [PATCH 03/12] docs --- data/raw/translations/readme.md | 4 +++- src/starplot/config.py | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/data/raw/translations/readme.md b/data/raw/translations/readme.md index 769e6207..0a42c5ca 100644 --- a/data/raw/translations/readme.md +++ b/data/raw/translations/readme.md @@ -27,7 +27,9 @@ Please follow these steps in a pull request to submit a new translation: - `dso_names.csv` - `other_terms.csv` - `star_names.csv` -3. Add the ISO-639-1 code to the `LANGUAGES` list [here](https://github.com/steveberardi/starplot/blob/main/src/starplot/data/translations.py) +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) 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 From 2518055385d84461838adee0e9ab7120fbd90de2 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 05:36:48 -0700 Subject: [PATCH 04/12] flit --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5a2640a1..9b941432 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,7 +66,7 @@ theme = "dark" dev = [ "black==23.3.0", "click==8.2.1", - "flit==3.9.0", + "flit==3.12.0", "griffe==1.15.0", "imagehash==4.3.1", "ipython==7.12.0", From 95273cd11886c874de36ab7c8eed8162b298e187 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 05:44:02 -0700 Subject: [PATCH 05/12] flit --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9b941432..eb914c96 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["flit_core >=3.2,<4"] +requires = ["flit_core ==3.9"] build-backend = "flit_core.buildapi" [project] @@ -66,7 +66,7 @@ theme = "dark" dev = [ "black==23.3.0", "click==8.2.1", - "flit==3.12.0", + "flit==3.9.0", "griffe==1.15.0", "imagehash==4.3.1", "ipython==7.12.0", From 9ccb4df544d740fde0f9e6d7bd5b2bce499be1a5 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 05:53:03 -0700 Subject: [PATCH 06/12] flit --- .github/workflows/test.yml | 2 ++ Makefile | 2 +- pyproject.toml | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1eaf292a..29dc45fb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,8 @@ jobs: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 + - name: Build PIP Package + run: make flit-build - name: Build Docker Image run: make build - name: Build sky.db diff --git a/Makefile b/Makefile index 0a5e96f3..63e6982d 100644 --- a/Makefile +++ b/Makefile @@ -125,7 +125,7 @@ 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" diff --git a/pyproject.toml b/pyproject.toml index eb914c96..655b84c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["flit_core ==3.9"] +requires = ["flit_core >= 4.0.2"] build-backend = "flit_core.buildapi" [project] @@ -16,6 +16,7 @@ classifiers = [ "Programming Language :: Python :: 3.13", "Framework :: Matplotlib", ] +requires-python = ">=3.10" dynamic = ["version", "description"] keywords = ["astronomy", "stars", "charts", "maps", "constellations", "sky", "plotting"] dependencies = [ @@ -66,7 +67,7 @@ theme = "dark" dev = [ "black==23.3.0", "click==8.2.1", - "flit==3.9.0", + "flit==4.0.2", "griffe==1.15.0", "imagehash==4.3.1", "ipython==7.12.0", From 65105ae0465a7ab1911e1ba6bfb3676ecf2685f0 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 05:53:34 -0700 Subject: [PATCH 07/12] flit --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 63e6982d..9387f507 100644 --- a/Makefile +++ b/Makefile @@ -128,7 +128,7 @@ 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 From 17305a14f731b7fea97f6ce575f87bed615141fe Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 05:57:24 -0700 Subject: [PATCH 08/12] flit --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 655b84c1..d1cf8ddf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["flit_core >= 4.0.2"] +requires = ["flit_core == 4.0.2"] build-backend = "flit_core.buildapi" [project] From bf4a7ddd49d746270a585477503369b87ab6be88 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 06:01:18 -0700 Subject: [PATCH 09/12] flit --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d1cf8ddf..da81f3f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["flit_core == 4.0.2"] +requires = ["flit_core == 3.12.0"] build-backend = "flit_core.buildapi" [project] @@ -67,7 +67,7 @@ theme = "dark" dev = [ "black==23.3.0", "click==8.2.1", - "flit==4.0.2", + "flit==3.12.0", "griffe==1.15.0", "imagehash==4.3.1", "ipython==7.12.0", From b7e7fc6e27d2ec2b3f57e46c3fc7c495b342622e Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 06:02:13 -0700 Subject: [PATCH 10/12] flit --- .github/workflows/test.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 29dc45fb..1eaf292a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,8 +15,6 @@ jobs: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - - name: Build PIP Package - run: make flit-build - name: Build Docker Image run: make build - name: Build sky.db From dc8f6965e608ae3ec650689731f2cdc8b50d7ab5 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 06:03:42 -0700 Subject: [PATCH 11/12] flit --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index da81f3f1..92fbf0ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,6 +68,7 @@ dev = [ "black==23.3.0", "click==8.2.1", "flit==3.12.0", + "flit_core==3.12.0", "griffe==1.15.0", "imagehash==4.3.1", "ipython==7.12.0", From 153b3dfd5a06f071e3a86b67c8bec68b7695e5f9 Mon Sep 17 00:00:00 2001 From: Steve Berardi Date: Tue, 18 Aug 2026 06:07:23 -0700 Subject: [PATCH 12/12] date --- CITATION.cff | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CITATION.cff b/CITATION.cff index 66c791c0..a79a4857 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -21,4 +21,4 @@ keywords: - plotting license: MIT version: 0.20.5 -date-released: '2026-08-17' +date-released: '2026-08-18'