A component based framework for designing automated code modification
Project description
AutoTransform
AutoTransform is a structured, schema based approach to large scale code modification. It provides a structure for designing and implementing these types of modifications using common components that can be utilized to accelerate development.
Installing
⚠ WARNING: AutoTransform requires Python 3.10
- Latest Release
pip install AutoTransform
- Bleeding Edge
pip install git+git://github.com/nathro/AutoTransform.git
- Windows users may need to replace
git://
withhttps://
- If you do not have git use:
pip install https://github.com/nathro/AutoTransform/archive/master.zip
- Windows users may need to replace
Components
AutoTransform schemas are structured around a set of components that define the transformation. These components are:
- Input: Gets all eligible files for transformation
- Filters: Filters down eligible files based on each Filter's criteria
- Batcher: Breaks a set of files in to logical groupings with metadata
- Transformer: Performs actual transformations on the batches
- Validators: Performs post transformation validation to ensure code is valid (i.e. tests pass)
- Commands: Performs any post transformation processing required (i.e. running a build/code generation suite)
- Repo: Controls all interaction with the version control/code review system
- Config: Stores all configuration options for the schema, such as what level of validation issues are allowed
Components are located within subpackages named for them (i.e. autotransform.batcher
). Explore these packages either in source or through the interpreter to discover available components and the parameters they use. If you need components that do not exist check out CONTRIBUTING.md or CUSTOM_DEPLOYMENT.md
Configuration
In addition to schema configuration, configuration is available for AutoTransform as a whole to provide things like credentials for github. The default configuration is pulled from data/config.ini, see data/sample_config.ini for the configuration format. Other configuration options are available using the environment vairable AUTO_TRANSFORM_CONFIG
(see autotransform.config
).
Scripts
AutoTransform exposes two scripts as part of package deployment
- autotransform.regexmod is exposed as
regexmod
runregexmod -h
for options - autotransform.manager is exposed as
atmanager
runatmanager -h
for options
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
File details
Details for the file AutoTransform-0.1.1.tar.gz
.
File metadata
- Download URL: AutoTransform-0.1.1.tar.gz
- Upload date:
- Size: 33.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ff1f873881c3061e1cbd07dad7ccc48d7d6a82030e827d23c790ac9821235f3 |
|
MD5 | 6622596d580c642f162fd22d4559a365 |
|
BLAKE2b-256 | 62a19e6b6bfb38f5580c0276ff325d13ce6d08674322783408750433a796cc0b |
Provenance
File details
Details for the file AutoTransform-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: AutoTransform-0.1.1-py3-none-any.whl
- Upload date:
- Size: 61.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cacfdeaad9000bb208e2ce03a860f6bb88a1e4d4171f428858d4261ee0514be |
|
MD5 | 8e95b45effbe29834815c30396556fc0 |
|
BLAKE2b-256 | d71d8342672676752a97da58db4d893af6d5b73cc0e18f503476a66b14c6a818 |