This repository contains a simple template to exemplify: how to structure a python project and leverage GitHub Actions to automatically build and publish it as a python package (to PyPI and Conda).
The template project describes a simple Python package containing an object class, an object container ad a few functions to sort them and convert from/to JSON.
The template comes with:
- a few GitHub Actions to automatically build and publish the package to PyPI (and Conda) when a new release is created (or on demand);
- a GitHub Action to check the code quality using CodeQL;
- a GitHub Action to check compliance with Black code style;
- a few tests to exemplify the use of pytest;
- a minimal sphinx documentation to exemplify the use of sphinx and readthedocs;
- a minimal configuration files to exemplify the use of gitignore and coveragerc;
- a minimal setup.py to exemplify the use of setuptools.
To learn more about the project (and for a crash course on the listed topics), please check the dedicated wiki.
This project is licensed under the terms of the BSD-2-Clause license.
This repository was developed within the SoBigData++ H2020 project training activities (WP4) to support "Social Mining and Big Data resources Integration" (WP8).
Giulio Rossetti - CNR-ISTI
Twitter: @giuliorossetti
Mastodon: @giuliorossetti@mastodon.uno