Skip to content

pyGascard

pyGascard

Python API for acquisition and control of Edinburgh Sensors Gascard

See Edinburgh Sensors Gascard Communications Guide for reference.

Installation

pip install -U pyGascard

or install with Poetry

poetry add pyGascard

Makefile usage

Makefile contains a lot of functions for faster development.

1. Download and remove Poetry

To download and install Poetry run:

make poetry-download
To uninstall
make poetry-remove

2. Install all dependencies and pre-commit hooks

Install requirements:

make install
Pre-commit hooks coulb be installed after `git init` via
make pre-commit-install

3. Codestyle

Automatic formatting uses `pyupgrade`, `isort` and `black`.

make codestyle

# or use synonym
make formatting
Codestyle checks only, without rewriting files:
make check-codestyle
> Note: `check-codestyle` uses `isort`, `black` and `darglint` library Update all dev libraries to the latest version using one comand
make update-dev-deps
4. Code security

make check-safety
This command launches `Poetry` integrity checks as well as identifies security issues with `Safety` and `Bandit`.
make check-safety

5. Type checks

Run `mypy` static type checker

make mypy

6. Tests with coverage badges

Run `pytest`

make test

7. All linters

Of course there is a command to ~~rule~~ run all linters in one:

make lint
the same as:
make test && make check-codestyle && make mypy && make check-safety

8. Docker

make docker-build
which is equivalent to:
make docker-build VERSION=latest
Remove docker image with
make docker-remove
More information [about docker](https://github.com/ulfsri/pyGascard/tree/main/docker).

9. Cleanup

Delete pycache files

make pycache-remove
Remove package build
make build-remove
Delete .DS_STORE files
make dsstore-remove
Remove .mypycache
make mypycache-remove
Or to remove all above run:
make cleanup

πŸ“ˆ Releases

You can see the list of available releases on the GitHub Releases page.

We follow Semantic Versions specification.

We use Release Drafter. As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you’re ready. With the categories option, you can categorize pull requests in release notes using labels.

List of labels and corresponding titles

Label Title in Releases
enhancement, feature πŸš€ Features
bug, refactoring, bugfix, fix πŸ”§ Fixes & Refactoring
build, ci, testing πŸ“¦ Build System & CI/CD
breaking πŸ’₯ Breaking Changes
documentation πŸ“ Documentation
dependencies ⬆️ Dependencies updates

You can update it in release-drafter.yml.

GitHub creates the bug, enhancement, and documentation labels for you. Dependabot creates the dependencies label. Create the remaining labels on the Issues tab of your GitHub repository, when you need them.

πŸ›‘ License

License

This project is licensed under the terms of the MIT license. See LICENSE for more details.

πŸ“ƒ Citation

@misc{pyGascard,
  author = {ulfsri},
  title = {Python API for acquisition and control of Edinburgh Sensors Gascard},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/ulfsri/pyGascard}}
}

Credits πŸš€ Your next Python package needs a bleeding-edge project structure.

This project was generated with python-package-template