Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Publish to PyPI

on:
release:
types: [published]

jobs:
test:
runs-on: ubuntu-latest
env:
PYTHONPATH: src
WANDB_MODE: disabled
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.13"
- name: Install dependencies
run: |
pip install --no-cache-dir poetry poetry-plugin-export
poetry config virtualenvs.create false
poetry export -f requirements.txt -o requirements.txt --without-hashes --with dev
pip install --no-cache-dir -r requirements.txt && rm requirements.txt
- name: Lint
run: |
poetry run ruff check
poetry run ruff format --check
- name: Type check
run: poetry run mypy .
- name: Test
run: poetry run pytest

publish:
needs: test
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.13"
- name: Install Poetry
run: pip install poetry
- name: Build package
run: poetry build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
21 changes: 20 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,22 @@ name = "apeiron"
version = "0.1.0"
description = "A PyTorch continual learning framework for real-time concept drift detection and model adaptation."
authors = [
{name = "Your Name",email = "you@example.com"}
{name = "Andrew Ayres", email = "andrew.f.ayres@gmail.com"},
{name = "Ana Gainaru", email = "ana.gainaru@gmail.com"},
{name = "Anna Quach", email = "aquach4@gmail.com"},
{name = "Krishnan Raghavan", email = "krm9c@outlook.com"},
{name = "Rafael Zamora-Resendiz"},
{name = "Steffen Schotthöfer", email = "steffen.schotthoefer@outlook.de"},
{name = "Zilinghan Li"},
]
license = {text = "Apache-2.0"}
keywords = ["continual learning", "concept drift", "pytorch", "machine learning"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
readme = "README.md"
requires-python = ">=3.13,<3.14"
Expand Down Expand Up @@ -39,6 +54,10 @@ dev = [
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

[project.urls]
Homepage = "https://github.com/AI-ModCon/BaseSim_Framework"
Repository = "https://github.com/AI-ModCon/BaseSim_Framework"

[tool.poetry]
packages = [
{ include = "apeiron", from = "src" },
Expand Down
Loading