Project Maintenance Scripts
Project description
Rationale
These utilities are meant to help me with my repositories and their maintenance.
Dependencies
These utilities work best using the following opinionated dependencies
- Python virtual environments on a per project/repository basis
- direnv to set up the project virtual environment and any necessary environment variables
- Building using setup.py and the build module to create source and binary distributions. The documentation is here
- Using pypi for source and binary distributions
- A correctly setup $(HOME)/.pypirc for easy interaction with twine and pypi
Required Environment Variables
The above commands depend on the following environment variables.
PROJECTS_BASE - The local directory where the python projects are based
PROJECT - The name of the project; It should be a directory name
An example, of a PROJECTS_BASE is:
export PROJECTS_BASE="${HOME}/PycharmProjects"
This should be set in your shell startup script. For example .bash_profile
.
The PROJECT environment variable should be set on a project by project basis. I recommend you use direnv to manage these. An example of a .envrc follows:
export PROJECT=pyutmodel
source pyenv-3.10.6/bin/activate
Python Console Scripts
buildlackey means to handle this problem by providing a set of Python command line scripts to automate updating the first three of the above dependency specification locations
- runtests -- queries repositories for their latest release version
- runmypy -- creates a dependency specification for a project
- cleanup -- updates the supported dependency locations using the generated specification
- deploy --
- prodpush --
Usage
- runtests
- runmypy
- cleanup
- deploy
- prodpush
Written by Humberto A. Sanchez II (C) 2023
Note
For all kind of problems, requests, enhancements, bug reports, etc., please drop me an e-mail.
I am concerned about GitHub's Copilot project
I urge you to read about the Give up GitHub campaign from the Software Freedom Conservancy.
While I do not advocate for all the issues listed there I do not like that a company like Microsoft may profit from open source projects.
I continue to use GitHub because it offers the services I need for free. But, I continue to monitor their terms of service.
Any use of this project's code by GitHub Copilot, past or present, is done without my permission. I do not consent to GitHub's use of this project's code in Copilot.
A repository owner may opt out of Copilot by changing Settings --> GitHub Copilot.
I have done so.
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
Hashes for buildlackey-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7e8f1cf0a1d11fa6eeb7cc02f68a4f9e4010cebf46d4a633f15dac5e2a05058 |
|
MD5 | 33fe2fa809a7cb35ed89ce704622d7bd |
|
BLAKE2b-256 | 4bd78700916130657c8c83a0bad4558207e048dde50929a2b1e2d2c88dd1852a |