API reference

neophile Package

The neophile service.

Variables

__version__ The application version string (PEP 440 / SemVer compatible).

neophile.analysis.base Module

Base class for an analysis step.

Classes

BaseAnalyzer Base class for an analysis step.

neophile.analysis.helm Module

Analysis of a repository for needed Helm updates.

Classes

HelmAnalyzer(scanner, inventory, *, …) Analyze a tree for needed Helm updates.

neophile.analysis.kustomize Module

Analysis of a repository for needed Kustomize updates.

Classes

KustomizeAnalyzer(scanner, inventory) Analyze a tree for needed Kustomize updates.

neophile.analysis.pre_commit Module

Analysis of a repository for needed pre-commit hook updates.

Classes

PreCommitAnalyzer(scanner, inventory) Analyze a tree for needed pre-commit hook updates.

neophile.analysis.python Module

Analysis of a repository for needed Python updates.

Classes

PythonAnalyzer(root, virtualenv) Analyze a tree for needed Python frozen dependency updates.

neophile.cli Module

Command-line interface.

neophile.config Module

Configuration for neophile.

Classes

Configuration Configuration for neophile.

neophile.dependency.base Module

Base class for dependency information.

Classes

Dependency(path) Base class for a dependency returned by a scanner.

neophile.dependency.helm Module

A Helm chart dependency.

Classes

HelmDependency(path, version, name, repository) Represents a single Helm dependency.

neophile.dependency.kustomize Module

A Kustomize external dependency.

Classes

KustomizeDependency(path, url, owner, repo, …) Represents a single Kustomize dependency.

neophile.dependency.pre_commit Module

A pre-commit hook dependency.

Classes

PreCommitDependency(path, repository, owner, …) Represents a single pre-commit dependency.

neophile.exceptions Module

Exceptions for neophile.

Classes

DependencyNotFoundError The specified dependency was not found to update.
PushError Pushing a branch to GitHub failed.
UncommittedChangesError The repository contains uncommitted changes.

neophile.factory Module

Factory for neophile components.

Classes

Factory(config, session) Factory to create neophile components.

neophile.inventory.github Module

Inventory of available GitHub tags.

Classes

GitHubInventory(config, session) Inventory available tags of a GitHub repository.

neophile.inventory.helm Module

Inventory of available Helm chart versions.

Classes

CachedHelmInventory(session, cache_path) Cache the inventory of versions from a Helm repository.
HelmInventory(session) Inventory the versions available from a Helm repository.

neophile.inventory.version Module

Version representation for inventories.

Classes

PackagingVersion(parsed_version, Version], …) Represents a version string using packaging.version.Version.
ParsedVersion Abstract base class for versions.
SemanticVersion(parsed_version, version) Represents a semantic version string.

neophile.pr Module

Construct a GitHub PR for a set of changes.

Classes

CommitMessage(changes, title) A Git commit message.
PullRequester(path, config, session) Create GitHub pull requests.

neophile.processor Module

Process a set of repositories for updates.

Classes

Processor(config, factory) Process a set of repositories for updates.

neophile.repository Module

Wrapper around a Git repository.

Classes

Repository(path) Wrapper around a Git repository to add some convenience functions.

neophile.scanner.base Module

Base class for dependency scanners.

Classes

BaseScanner Base class for dependency scanners.

neophile.scanner.helm Module

Helm dependency scanning.

Classes

HelmScanner(root) Scan a source tree for Helm version references.

neophile.scanner.kustomize Module

Kustomize dependency scanning.

Classes

KustomizeScanner(root) Scan a source tree for Kustomize version references.

neophile.scanner.pre_commit Module

pre-commit hook dependency scanning.

Classes

PreCommitScanner(root) Scan a source tree for pre-commit hook version references.

neophile.scanner.util Module

Utilities for dependency scanning.

Functions

find_files(root, wanted_names) Scan a tree of files for files of a given set of names.

neophile.update.base Module

Base class for dependency updates.

Notes

This is a bit more complicated than it should have to be to work around https://github.com/python/mypy/issues/5374. The mixins avoid the conflict between an abstract base class and a dataclass in mypy’s understanding of the Python type system.

Classes

MethodMixin Add the abstract methods for an update.
Update(path, applied) Base class for a needed dependency version update.
UpdateMixin(path, applied) Add the base data elements for Update.

neophile.update.helm Module

Helm dependency update.

Classes

HelmUpdate(path, applied, name, current, latest) An update to a Helm chart dependency.

neophile.update.kustomize Module

Kustomize dependency update.

Classes

KustomizeUpdate(path, applied, url, owner, …) An update to a Helm chart dependency.

neophile.update.pre_commit Module

pre-commit dependency update.

Classes

PreCommitUpdate(path, applied, repository, …) An update to a Helm chart dependency.

neophile.update.python Module

Python frozen dependency update.

Classes

PythonFrozenUpdate(path, applied, virtualenv) An update to Python frozen dependencies.

neophile.virtualenv Module

Virtual environment handling.

Classes

VirtualEnv(path) Manage virtual environments.