No project description provided
Project description
How to create a new python project with projen
-
run
pj new python --name=kaito_model(pjis an alias fornpx projen) -
configure
.projenrc.pyby adding belowproject = PythonProject( ... homepage="", license=None, project_type=ProjectType.LIB, # or ProjectType.APP if this is not a library pip=False, venv=False, setuptools=False, poetry=True, poetry_options={ "repository": "https://github.com/MetaSearch-IO/KaitoModelPython.git", }, deps=[ "python@^3.9", ], )
Note that python dependency is required by poetry and the version should be at least 3.7
-
increase the version in
.projenrc.pyif necessary. -
setup the poetry environment by running
poetry env use <PATH_TO_PROJECT>/.env/bin/python3.9(or your desired python version)- see poetry docs for the exact env path.
- you may also need to change the IDE interpreter to the same path, otherwise the IDE will not be able to find the dependencies.
-
run
pj buildto install dependencies and generate artifacts. -
if not already, setup pypi main token by
poetry config pypi-token.pypi <main-token>, find main token in notion doc -
run
pj publishto upload a new version to pypi.
How to adopt projen to an existing python project
- run
pj new python, the script will recognize your project name and create a.projenrc.pyfile. - delete the content inside the newly created
<project-name>folder, move content fromsrc(or other folder name with existing source files) to<project-name>, and delete thesrcfolder. Move the test files to<project-name>/testsas well.- you may want to change the
module_namein.projenrc.py, note that only lowercase letters and underscores are allowed.
- you may want to change the
- refer to How to create a new python project with projen step 2 till the end, configure the
.projenrc.pyfile. - additionally, you need to base on the existing
setup.cfg(orrequirements.txt), add the dependencies to.projenrc.pyfile. Then delete thesetup.cfg(orrequirements.txt) file.
How to automate the release process
- create a project specific pypi token with
reposcope, and add it to the github secrets asPYPI_API_TOKEN. Or ask your admin to do it for you.
Bonus
How to enforce pre commit actions (for any language)
-
install pre-commit and add pre-commit to deps list.
-
create a pre-commit configuration file
.pre-commit-config.yamlsimilar to below# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer exclude: ^\.* # Most dot files managed by projen and are read only - id: check-yaml - id: check-added-large-files
-
run
pre-commit install -
(optional) run
pre-commit autoupdateto update hooks to the latest version
How to run github actions locally
-
install act
-
(optional) create an act environment variables fle
.actenvwith extra env variables, some examples could beGITHUB_TOKEN=<your-github-token> PYPI_API_TOKEN=<your-pypi-token>
Note that act will try to load file
.envas environment variables, but it will not work because.envnow it's a virtual environment folder managed by projen. So we need to create a new file. -
run
act --env-file .actenvto run the github actions locally.- the first time run
actwill let you choose default image, you should choose at least Medium image. - make an alias for this command for easier use
alias act='act --env-file .actenv'
- the first time run
TODO: Run projen as pre-commit hook to ensure the project is up to date
TODO: Auto bump the version number
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kaito_model-0.1.4.tar.gz.
File metadata
- Download URL: kaito_model-0.1.4.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81dc9be3ec3d0dc05864a1385fcf98a513fad414a7e8b9a936458d0c5729dde2
|
|
| MD5 |
93bd74165e89ca9688abd98b0c9a899c
|
|
| BLAKE2b-256 |
7af23d18074c176d5968d4b3608bfa10270d70d6df756c8c7228daca3f6c84a7
|
File details
Details for the file kaito_model-0.1.4-py3-none-any.whl.
File metadata
- Download URL: kaito_model-0.1.4-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4888f478bdd8d61294fe14bac5d6888f5ffd19722a345da9109a46e2c56e5a89
|
|
| MD5 |
f0344c2eea213132d6488093fae97df6
|
|
| BLAKE2b-256 |
869b5327d0444131e5155a4bd476066459a3543aab7da1c0cfe2993fe4286e6f
|