/Python-Project-Template

Minimal template for a Python library project

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Python Project Template

SBD++ Black

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.

Wiki

To learn more about the project (and for a crash course on the listed topics), please check the dedicated wiki.

License

This project is licensed under the terms of the BSD-2-Clause license.

Acknowledgements

This repository was developed within the SoBigData++ H2020 project training activities (WP4) to support "Social Mining and Big Data resources Integration" (WP8).

Contact(s)

Giulio Rossetti - CNR-ISTI

Twitter: @giuliorossetti

Mastodon: @giuliorossetti@mastodon.uno