shipstation-client
is a Python cli/package created with https://github.com/TezRomacH/python-package-template
For your development we've prepared:
- Supports for
Python 3.10
and higher. Poetry
as the dependencies manager. See configuration inpyproject.toml
.- Power of
black
,isort
andpyupgrade
formatters. - Ready-to-use
pre-commit
hooks with formatters above. - Type checks with the configured
mypy
. - Testing with
pytest
. - Docstring checks with
darglint
. - Security checks with
safety
andbandit
. - Well-made
.editorconfig
and.gitignore
. You don't have to worry about those things.
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
- Initialize
git
inside your repo:
git init
- If you don't have
Poetry
installed, run:
make download-poetry
- Initialize poetry and install
pre-commit
hooks:
make install
pip install shipstation-client
or install with Poetry
poetry add shipstation-client
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
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 to1
or0
):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 to1
or0
):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 to1
or0
):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.
This project is licensed under the terms of the MIT
license. See LICENSE for more details.
@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}}
}
This project was generated with python-package-template
.