Python internal API#

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.

Class Inheritance Diagram#

Inheritance diagram of neophile.analysis.base.BaseAnalyzer

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.

Class Inheritance Diagram#

Inheritance diagram of neophile.analysis.pre_commit.PreCommitAnalyzer

neophile.analysis.python Module#

Analysis of a repository for needed Python updates.

Classes#

PythonAnalyzer()

Analyze a tree for needed Python frozen dependency updates.

Class Inheritance Diagram#

Inheritance diagram of neophile.analysis.python.PythonAnalyzer

neophile.cli Module#

Command-line interface.

neophile.config Module#

Configuration for neophile.

Classes#

Config

Configuration for neophile.

Class Inheritance Diagram#

Inheritance diagram of neophile.config.Config

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.

Class Inheritance Diagram#

Inheritance diagram of neophile.exceptions.DependencyNotFoundError, neophile.exceptions.PushError, neophile.exceptions.UncommittedChangesError

neophile.factory Module#

Factory for neophile components.

Classes#

Factory(http_client)

Factory to create neophile components.

Class Inheritance Diagram#

Inheritance diagram of neophile.factory.Factory

neophile.inventory.github Module#

Inventory of available GitHub tags.

Classes#

GitHubInventory(http_client)

Inventory available tags of a GitHub repository.

Class Inheritance Diagram#

Inheritance diagram of neophile.inventory.github.GitHubInventory

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.

Class Inheritance Diagram#

Inheritance diagram of neophile.inventory.version.PackagingVersion, neophile.inventory.version.ParsedVersion, neophile.inventory.version.SemanticVersion

neophile.models.dependencies Module#

Representations of dependencies.

Classes#

Dependency(path)

Base class for a dependency returned by a scanner.

HelmDependency(path, version, name, repository)

Represents a single Helm dependency.

KustomizeDependency(path, url, owner, repo, ...)

Represents a single Kustomize dependency.

PreCommitDependency(path, repository, owner, ...)

Represents a single pre-commit dependency.

Class Inheritance Diagram#

Inheritance diagram of neophile.models.dependencies.Dependency, neophile.models.dependencies.HelmDependency, neophile.models.dependencies.KustomizeDependency, neophile.models.dependencies.PreCommitDependency

neophile.pr Module#

Construct a GitHub PR for a set of changes.

Classes#

CommitMessage(changes)

A Git commit message.

GitHubRepository(owner, repo)

An individual GitHub repository.

PullRequester(config, http_client)

Create GitHub pull requests.

Class Inheritance Diagram#

Inheritance diagram of neophile.pr.CommitMessage, neophile.pr.GitHubRepository, neophile.pr.PullRequester

neophile.processor Module#

Process a set of repositories for updates.

Classes#

Processor(config, analyzers, pull_requester)

Process a set of repositories for updates.

Class Inheritance Diagram#

Inheritance diagram of neophile.processor.Processor

neophile.repository Module#

Wrapper around a Git repository.

Classes#

Repository(path)

Wrapper around a Git repository to add some convenience functions.

Class Inheritance Diagram#

Inheritance diagram of neophile.repository.Repository

neophile.scanner.base Module#

Base class for dependency scanners.

Classes#

BaseScanner()

Base class for dependency scanners.

Class Inheritance Diagram#

Inheritance diagram of neophile.scanner.base.BaseScanner

neophile.scanner.pre_commit Module#

pre-commit hook dependency scanning.

Classes#

PreCommitScanner()

Scan a source tree for pre-commit hook version references.

Class Inheritance Diagram#

Inheritance diagram of neophile.scanner.pre_commit.PreCommitScanner

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 python/mypy#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.

Class Inheritance Diagram#

Inheritance diagram of neophile.update.base.MethodMixin, neophile.update.base.Update, neophile.update.base.UpdateMixin

neophile.update.pre_commit Module#

pre-commit dependency update.

Classes#

PreCommitUpdate(path, applied, repository, ...)

An update to a Helm chart dependency.

Class Inheritance Diagram#

Inheritance diagram of neophile.update.pre_commit.PreCommitUpdate

neophile.update.python Module#

Python frozen dependency update.

Classes#

PythonFrozenUpdate(path, applied)

An update to Python frozen dependencies.

Class Inheritance Diagram#

Inheritance diagram of neophile.update.python.PythonFrozenUpdate