Skip to main content

Variability analysis tool for ROS systems

Project description

Bake a Py

This project provides a template from which you can create your own Python packages and projects. It uses modern tools and conventions to ensure a good development experience.

Package Structure

Package structure was inspired by various templates and recommended best practices, such as:

It provides a src directory, under which your own packages sit. Example files for __init__.py, __main__.py and cli.py are already provided.

Tests are placed under the tests directory, and documentation under the docs directory.

To start your new project, you should change its name, URL and metadata details at:

  1. README.md
  2. CHANGELOG.md
  3. setup.py
  4. tests/*.py
  5. src/*

GitHub Features

The .github directory comes with a number of files to configure certain GitHub features.

  • Various Issue templates can be found under ISSUE_TEMPLATE.
  • A Pull Request template can be found at PULL_REQUEST_TEMPLATE.md.
  • Automatically mark issues as stale after a period of inactivity. The configuration file can be found at .stale.yml.
  • Keep package dependencies up to date with Dependabot. The configuration file can be found at dependabot.yml.
  • Keep Release Drafts automatically up to date with Pull Requests, using the Release Drafter GitHub Action. The configuration file can be found at release-drafter.yml and the workflow at workflows/release-drafter.yml.
  • Automatic package building and publishing when pushing a new version tag to main. The workflow can be found at workflows/publish-package.yml.
  • Code quality and security analysis with CodeQL. The workflow can be found at workflows/codeql-analysis.yml.

Tooling

This package sets up various tox environments for static checks, testing, building and publishing. It is also configured with pre-commit hooks to perform static checks and automatic formatting.

If you do not use tox, you can build the package with build and install a development version with pip.

Assume cd into the repository's root.

To install the pre-commit hooks:

pre-commit install

To run type checking:

tox -e typecheck

To run linting tools:

tox -e lint

To run automatic formatting:

tox -e format

To run tests:

tox

To build the package:

tox -e build

To build the package (with build):

python -m build

To clean the previous build files:

tox -e clean

To test package publication (publish to Test PyPI):

tox -e publish

To publish the package to PyPI:

tox -e publish -- --repository pypi

To install an editable version:

pip install -e .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bake-a-py-1.0.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

bake_a_py-1.0.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file bake-a-py-1.0.0.tar.gz.

File metadata

  • Download URL: bake-a-py-1.0.0.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for bake-a-py-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fd7c2403148254986cdff9b495eb3becb99eac543c1c34d0b300f34e3dd7aef5
MD5 a69701c21545d2042794dfaba9b1ef11
BLAKE2b-256 42c91d61dbe5e91ffce076346c9d6d1d434e2bcf18dc5541d5a2c3cbd9c4fd56

See more details on using hashes here.

File details

Details for the file bake_a_py-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bake_a_py-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for bake_a_py-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ebe1b4f84ecee29e72e0c18b28693218288efdf0355ef3531866c50f621193c5
MD5 857c07e30c72f42b6fa04fecf4b46dbb
BLAKE2b-256 d13b60a0e76f7cee2f40202c4ec5131f6408e7189125d890f23d62e388d767b7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page