Skip to content

Commit c43a5bd

Browse files
author
roberto_esaclear
committed
readme
1 parent 6fe7eb8 commit c43a5bd

4 files changed

Lines changed: 24 additions & 13 deletions

File tree

Makefile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.PHONY: build build-wheels bump-version check-deps-platforms check-dist check-universal-wheel clean dev format help install lint lock publish-pypi publish-testpypi test
1+
.PHONY: build build-wheels bump-version check-deps-platforms check-dist check-universal-wheel clean dev format help install lint lock publish publish-pypi publish-testpypi test
22

33
UV := uv
44
DIST_FILES := dist/*
@@ -74,11 +74,14 @@ publish-testpypi: check-dist
7474

7575
publish:
7676
@$(MAKE) bump-version
77+
@$(MAKE) lock
7778
@$(MAKE) check-dist
7879
@pypi_token="$$(awk -F= '/^[[:space:]]*pypi_token[[:space:]]*=/ {sub(/^[^=]*=[[:space:]]*/, ""); print; exit}' .env)"; \
7980
if [ -z "$$pypi_token" ]; then echo "Missing pypi_token in .env"; exit 1; fi; \
8081
TWINE_USERNAME=__token__ TWINE_PASSWORD="$$pypi_token" $(UV)x --from twine twine upload --repository pypi $(DIST_FILES)
8182

83+
publish-pypi: publish
84+
8285
clean:
8386
@rm -rf .venv build dist *.egg-info .pytest_cache .coverage .mypy_cache .ruff_cache
8487

@@ -97,5 +100,6 @@ help:
97100
@echo " check-universal-wheel - Verify wheel tag is py3-none-any"
98101
@echo " check-dist - Build and validate wheel/sdist metadata with twine"
99102
@echo " publish-testpypi - Build, validate, and upload dist files to TestPyPI"
100-
@echo " publish-pypi - Bump version, build, validate, and upload dist files to PyPI"
103+
@echo " publish - Bump version, refresh uv.lock, build, validate, and upload dist files to PyPI"
104+
@echo " publish-pypi - Alias for publish"
101105
@echo " clean - Remove local build and cache artifacts"

README.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<p align="center">
66
<a href="https://github.com/ESA-PhiLab/pynas/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/ESA-PhiLab/pynas/actions/workflows/ci.yml/badge.svg" /></a>
77
<a href="https://www.python.org/downloads/"><img alt="Python 3.11+" src="https://img.shields.io/badge/python-3.11+-blue.svg" /></a>
8-
<a href="https://github.com/ESA-PhiLab/pynas"><img alt="Version" src="https://img.shields.io/badge/version-0.1.0-informational.svg" /></a>
8+
<a href="https://github.com/ESA-PhiLab/pynas"><img alt="Version" src="https://img.shields.io/badge/version-0.1.2-informational.svg" /></a>
99
<a href="https://www.apache.org/licenses/LICENSE-2.0"><img alt="License: Apache 2.0" src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" /></a>
10-
<a href="https://doi.org/10.5281/zenodo.15332053"><img alt="DOI" src="https://zenodo.org/badge/DOI/10.5281/zenodo.15332053.svg" /></a>
10+
<a href="https://zenodo.org/"><img alt="Zenodo DOI pending" src="https://img.shields.io/badge/Zenodo-DOI_pending-lightgrey" /></a>
1111
</p>
1212

1313
# PyNAS
@@ -33,7 +33,7 @@ PyNAS provides building blocks for evolutionary NAS experiments, with an emphasi
3333
| Item | Status |
3434
| --- | --- |
3535
| Package name | `esa-pynas` |
36-
| Version | `0.1.0` |
36+
| Version | `0.1.2` |
3737
| Python support | `>=3.11,<3.15` |
3838
| Distribution | Local checkout; PyPI publication planned |
3939
| License | Apache 2.0 |
@@ -127,23 +127,30 @@ Spaceborne edge computing enables AI-capable CubeSats to process data onboard, r
127127

128128
PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.
129129

130+
The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" ([DOI: 10.1038/s41598-025-21467-8](https://doi.org/10.1038/s41598-025-21467-8)).
131+
130132
## Documentation
131133

132134
- Project documentation: [sirbastiano.github.io/pynas-docs](https://sirbastiano.github.io/pynas-docs/)
133135
- Source repository: [github.com/ESA-PhiLab/pynas](https://github.com/ESA-PhiLab/pynas)
136+
- Scientific Reports paper: [Optimizing deep learning models for on-orbit deployment through neural architecture search](https://www.nature.com/articles/s41598-025-21467-8)
134137
- ESA Phi-lab: [philab.esa.int](https://philab.esa.int)
135138
- Little Place Lab: [littleplace.com](https://www.littleplace.com)
136139

137140
## Citation
138141

139-
If you use PyNAS in academic work, cite the Zenodo record below. A paper-specific citation will be added when the associated manuscript is available.
142+
If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.
140143

141144
```bibtex
142-
@software{pynas_zenodo_15332053,
143-
title = {PyNAS},
144-
publisher = {Zenodo},
145-
doi = {10.5281/zenodo.15332053},
146-
url = {https://doi.org/10.5281/zenodo.15332053}
145+
@article{delprete2025pynas,
146+
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
147+
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
148+
journal = {Scientific Reports},
149+
volume = {15},
150+
pages = {37783},
151+
year = {2025},
152+
doi = {10.1038/s41598-025-21467-8},
153+
url = {https://doi.org/10.1038/s41598-025-21467-8}
147154
}
148155
```
149156

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "esa-pynas"
7-
version = "0.1.2"
7+
version = "0.1.3"
88
description = "PyNAS, a Python package for Neural Architecture Search experiments"
99
readme = {file = "README.md", content-type = "text/markdown"}
1010
requires-python = ">=3.11,<3.15"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)