A low dependency and really simple to start project template for Content AI Research Projects.
DO NOT FORK this is meant to be used from Use this template feature.
- Click on Use this template
- Give a name to your project
(e.g.
my-awesome-project
recommendation is to use all lowercase and hyphen separation for repo names.) - Wait until the first run of CI finishes (Github Actions will process the template and commit to your new repo)
- Read the file CONTRIBUTING.md
- Then clone your new project and happy coding!
NOTE: WAIT until first CI run on github actions before cloning your new project.
- ๐ผ๏ธ Templates for starting multiple application types:
- Basic low dependency Python program (default) use this template
- ๐ฆ A basic setup.py file to provide installation, packaging and distribution for your project.
Template uses setuptools because it's the de-facto standard for Python packages, you can run
make switch-to-poetry
later if you want. - ๐ค A Makefile with the most useful commands to install, test, lint, format and release your project.
- ๐ Documentation structure using mkdocs
- ๐ฌ Auto generation of change log using gitchangelog to keep a HISTORY.md file automatically based on your commit history on every release.
- ๐ A simple Containerfile to build a container image for your project.
Containerfile
is a more open standard for building container images than Dockerfile, you can use buildah or docker with this file. - ๐งช Testing structure using pytest
- โ Code linting using flake8
- ๐ฏ Entry points to execute your program using
python -m <project_name>
or$ project_name
with basic CLI argument parsing. - ๐ Continuous integration using Github Actions with jobs to lint, test and release your project on Linux, Mac and Windows environments.
Curious about architectural decisions on this template? read ABOUT_THIS_TEMPLATE.md If you want to contribute to this template please open an issue or fork and send a PULL REQUEST.
Awesome project_name created by alohays
pip install git+https://github.com/alohays/content-ai-research-template.git
from project_name import BaseClass
from project_name import base_function
BaseClass().base_method()
base_function()
$ python -m project_name
#or
$ project_name
Read the CONTRIBUTING.md file.
Example commit message:
git commit -m "feat: add dataloader"
Commit Type | Title | Description |
---|---|---|
feat |
Features | A new feature |
fix |
Bug Fixes | A bug Fix |
docs |
Documentation | Documentation only changes |
style |
Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
refactor |
Code Refactoring | A code change that neither fixes a bug nor adds a feature |
perf |
Performance Improvements | A code change that improves performance |
test |
Tests | Adding missing tests or correcting existing tests |
build |
Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
ci |
Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
chore |
Chores | Other changes that don't modify src or test files |
revert |
Reverts | Reverts a previous commit |