diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..69d6bd6c --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,46 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Publish Python 🐍 distributions 📦 to PyPI + +on: + release: + types: [ published ] + +permissions: + contents: read + +jobs: + deploy: + + runs-on: ubuntu-22.04 + environment: PyPi + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install build + python -m pip install tox + + - name: Build Python 🐍 packages + run: python -m build + + - name: Publish distribution 📦 to PyPI + # Upload packages only on a tagged commit + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_TOKEN }} \ No newline at end of file diff --git a/AUTHORS.txt b/AUTHORS.txt index 30c2bacf..ad1ce906 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -1,11 +1,20 @@ Github identifiers of authors, in alphabetical order: +a-zakir +aalzoobi +aoustry +ChouaneLouis +dusanparipovic flomnes ianmnz +Juliette-Gerbaux +killian-scalian klorel MartinBelthle pet-mit sylvlecl tbittar +thibaulttoujouse vargastat -Yann-Temudjin \ No newline at end of file +Yann-Temudjin +YassineAbdelouadoud \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index afedda92..f2f26b2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,15 +3,60 @@ requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] -name = "gems" +name = "gemspy" version = "0.0.1" -license = {text="MPL-2.0"} +description = "Python interpreter for GEMS: modelling and simulation of complex energy systems under uncertainty" +readme = "README.md" +license = { file = "LICENSE" } +authors = [ + { name = "a-zakir" }, + { name = "aalzoobi" }, + { name = "aoustry" }, + { name = "ChouaneLouis" }, + { name = "dusanparipovic" }, + { name = "flomnes" }, + { name = "ianmnz" }, + { name = "Juliette-Gerbaux" }, + { name = "killian-scalian" }, + { name = "klorel" }, + { name = "MartinBelthle" }, + { name = "pet-mit" }, + { name = "sylvlecl" }, + { name = "tbittar" }, + { name = "thibaulttoujouse" }, + { name = "vargastat" }, + { name = "Yann-Temudjin" }, + { name = "YassineAbdelouadoud" }, +] +requires-python = ">=3.10" dependencies = [ - "ortools" + "numpy", + "ortools", + "scipy>=1.10", + "antlr4-python3-runtime>=4.13", + "PyYAML>=6.0", + "pydantic>=2.0", + "antares_craft>=0.3", + "anytree>=2.12", + "pypsa", +] +classifiers = [ + # Classifiers here: https://pypi.org/classifiers/ + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] + [project.scripts] -andromede-simulator = "andromede.main.main:main_cli" +gemspy = "gems.main.main:main_cli" + +[project.urls] +Repository = "https://github.com/AntaresSimulatorTeam/GemsPy" +"Bug Tracker" = "https://github.com/AntaresSimulatorTeam/GemsPy/issues" [tool.setuptools.packages.find] # All the following settings are optional: