/shipstation-client

Python bindings for the ShipStation API

Primary LanguagePythonMIT LicenseMIT

shipstation-client

Build status Python Version Dependencies Status

Code style: black Security: bandit Pre-commit Semantic Versions License

shipstation-client is a Python cli/package created with https://github.com/TezRomacH/python-package-template


🚀 Features

For your development we've prepared:

For building and deployment:

  • GitHub integration.
  • Makefile for building routines. Everything is already set up for security checks, codestyle checks, code formatting, testing, linting, docker builds, etc. More details at Makefile summary).
  • Dockerfile for your package.
  • Github Actions with predefined build workflow as the default CI/CD.

Setup Poetry

  1. Initialize git inside your repo:
git init
  1. If you don't have Poetry installed, run:
make download-poetry
  1. Initialize poetry and install pre-commit hooks:
make install

Installation

pip install shipstation-client

or install with Poetry

poetry add shipstation-client

Usage

Then you can run

shipstation-client --help
shipstation-client --name Roman

or if installed with Poetry:

poetry run shipstation-client --help
poetry run shipstation-client --name Roman

Makefile usage

Makefile contains many functions for fast assembling and convenient work.

1. Download Poetry

make download-poetry

2. Install all dependencies and pre-commit hooks

make install

If you do not want to install pre-commit hooks, run the command with the NO_PRE_COMMIT flag:

make install NO_PRE_COMMIT=1

3. Check the security of your code

make check-safety

This command launches a Poetry and Pip integrity check as well as identifies security issues with Safety and Bandit. By default, the build will not crash if any of the items fail. But you can set STRICT=1 for the entire build, or you can configure strictness for each item separately.

make check-safety STRICT=1

or only for safety:

make check-safety SAFETY_STRICT=1

multiple

make check-safety PIP_STRICT=1 SAFETY_STRICT=1

List of flags for check-safety (can be set to 1 or 0): STRICT, POETRY_STRICT, PIP_STRICT, SAFETY_STRICT, BANDIT_STRICT.

4. Check the codestyle

The command is similar to check-safety but to check the code style, obviously. It uses Black, Darglint, Isort, and Mypy inside.

make check-style

It may also contain the STRICT flag.

make check-style STRICT=1

List of flags for check-style (can be set to 1 or 0): STRICT, BLACK_STRICT, DARGLINT_STRICT, ISORT_STRICT, MYPY_STRICT.

5. Run all the codestyle formaters

Codestyle uses pre-commit hooks, so ensure you've run make install before.

make codestyle

6. Run tests

make test

7. Run all the linters

make lint

the same as:

make test && make check-safety && make check-style

List of flags for lint (can be set to 1 or 0): STRICT, POETRY_STRICT, PIP_STRICT, SAFETY_STRICT, BANDIT_STRICT, BLACK_STRICT, DARGLINT_STRICT, ISORT_STRICT, MYPY_STRICT.

8. Build docker

make docker

which is equivalent to:

make docker VERSION=latest

More information here.

9. Cleanup docker

make clean_docker

or to remove all build

make clean

More information here.

🛡 License

License

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

📃 Citation

@misc{shipstation-client,
  author = {AgriTheory},
  title = {`shipstation-client` is a Python cli/package created with https://github.com/TezRomacH/python-package-template},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/agritheory/shipstation-client}}
}

Credits

This project was generated with python-package-template.