Welcome to Flexlate Development Tools documentation!¶
flexlate-dev¶
Overview¶
Development tools for template authors using Flexlate
Getting Started¶
Install flexlate-dev
:
pip install flexlate-dev
A simple example:
import flexlate_dev
# Do something with flexlate_dev
Links¶
See the documentation here.
Development Status¶
This project is currently in early-stage development. There may be breaking changes often. While the major version is 0, minor version upgrades will often have breaking changes.
Developing¶
Initial Setup¶
First, you need a couple global dependencies installed, see their documentation for details:
Note that these tools require a UNIX-style shell, such as bash or zsh. If you are on Windows, you can use WSL or Git Bash. If you are using Pycharm, you can configure the built-in terminal to use Git Bash.
Then clone the repo and run direnv allow
. This will take a while on the first time
to install the remaining dependencies.
Day to Day Development¶
Make your changes and then run just
to run formatting,
linting, and tests.
Develop documentation by running just docs
to start up a dev server.
To run tests only, run just test
. You can pass additional arguments to pytest,
e.g. just test -k test_something
.
Prior to committing, you can run just
with no arguments to run all the checks.
Conventional Commits & Semantic Release¶
This project uses conventional commits to power semantic release. This means that when you commit, you should use the following format:
<type>[optional scope]: <description>
For example, feat: Add new feature
or fix: Fix bug
.
When creating a PR, please name the PR in this way as well so that the squashed commit from the PR will have a conventional commit message.
Pre-commit Hooks¶
This project uses Husky and Lint-staged to run pre-commit hooks. This means that
when you commit, it will run just format
and just strip
on the files
you edited, and also check that your commit message is a conventional commit.
If you are not able to commit, it is likely because your commit message is not in the conventional commit format.
Tutorial and Examples¶
API Documentation¶
- flexlate_dev
- flexlate_dev package
- Subpackages
- Submodules
- flexlate_dev.cli module
- flexlate_dev.cli_validators module
- flexlate_dev.command_runner module
- flexlate_dev.config module
- flexlate_dev.config_schema module
- flexlate_dev.dict_merge module
- flexlate_dev.dirutils module
- flexlate_dev.exc module
- flexlate_dev.ext_flexlate module
- flexlate_dev.ext_subprocess module
- flexlate_dev.ext_threading module
- flexlate_dev.external_command_type module
- flexlate_dev.get_version module
- flexlate_dev.gitutils module
- flexlate_dev.ignore module
- flexlate_dev.logger module
- flexlate_dev.project_ops module
- flexlate_dev.publish module
- flexlate_dev.render module
- flexlate_dev.styles module
- flexlate_dev.user_command module
- flexlate_dev.user_runner module
- flexlate_dev package