Skip to main content

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:// with https://
    • If you do not have git use: pip install https://github.com/nathro/AutoTransform/archive/master.zip

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 run regexmod -h for options
  • autotransform.manager is exposed as atmanager run atmanager -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

AutoTransform-0.1.1.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

AutoTransform-0.1.1-py3-none-any.whl (61.9 kB view details)

Uploaded Python 3

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

Hashes for AutoTransform-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4ff1f873881c3061e1cbd07dad7ccc48d7d6a82030e827d23c790ac9821235f3
MD5 6622596d580c642f162fd22d4559a365
BLAKE2b-256 62a19e6b6bfb38f5580c0276ff325d13ce6d08674322783408750433a796cc0b

See more details on using hashes here.

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

Hashes for AutoTransform-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1cacfdeaad9000bb208e2ce03a860f6bb88a1e4d4171f428858d4261ee0514be
MD5 8e95b45effbe29834815c30396556fc0
BLAKE2b-256 d71d8342672676752a97da58db4d893af6d5b73cc0e18f503476a66b14c6a818

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page