Skip to content

Commit

Permalink
Enable Publishing Workflow (#5)
Browse files Browse the repository at this point in the history
* Enable Publishing Workflow

* Update README.md
  • Loading branch information
hf-kklein authored Sep 18, 2023
1 parent 864d051 commit 7c8ce2a
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 52 deletions.
101 changes: 49 additions & 52 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -1,58 +1,55 @@
# This GitHub workflow is only needed for python package releases which are supposed to be published on pypi.


# This workflows will upload a Python Package using Twine when a release is created
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

# name: Upload Python Package
name: Upload Python Package

# on:
# release:
# branches: main
# types: [created, edited]
on:
release:
types: [ created, edited ]

# jobs:
# tests:
# if: startsWith(github.ref, 'refs/tags/v')
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# python-version: ["3.11"]
# os: [ubuntu-latest]
# steps:
# - uses: actions/checkout@v2
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python-version }}
# - name: Install tox
# run: |
# python -m pip install --upgrade pip
# pip install tox
# - name: Run tox
# run: |
# tox
jobs:
tests:
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [ "3.11" ]
os: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
- name: Run tox
run: |
tox
# build-n-publish:
# name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
# runs-on: ubuntu-latest
# needs: tests
# steps:
# - uses: actions/checkout@v2
# - name: Set up Python
# uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python-version }}
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install setuptools setuptools-scm wheel twine
# - name: Build a binary wheel and a source tarball
# run: |
# python setup.py sdist bdist_wheel
# - name: Publish distribution 📦 to PyPI
# if: startsWith(github.ref, 'refs/tags/v')
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# user: __token__
# password: ${{ secrets.PYPI_API_TOKEN }}
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
runs-on: ubuntu-latest
needs: tests
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r dev_requirements/requirements-packaging.txt
- name: Build a binary wheel and a source tarball
run: |
python -m build
- name: Publish distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags/v')
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ This package provides functionalities to determine the values of generic type va
As of now, it only supports two functions: `get_type_vars` and `get_filled_type`. These functions work also
with pydantic generic models (only tested with pydantic > v2.3.0).

### Installation
The package is [available on PyPI](https://pypi.org/project/python-generics/):
```bash
pip install python-generics
```

### Usage

The `get_type_vars` function returns a tuple of all type variables for a given generic type. The `TypeVar`s are
determined by `Generic` if the type is a subclass of `Generic`. Otherwise, they are determined by the indexed
supertypes (the order of the returned tuple is the lexicographical in the list of the supertypes).
Expand Down

0 comments on commit 7c8ce2a

Please sign in to comment.