Skip to main content

Shared library for the N8 Group migration product family

Project description

migration-core

Shared Python library for the N8 Group migration product family.

migration-core packages the GitHub-side adapters, shared target models, exception hierarchy, and identity helpers used by migration tools such as bb2gh and ado2gh.

What This Package Includes

  • GitHub target adapter abstractions and implementations under migration_core.adapters
  • Shared GitHub-facing data models under migration_core.models
  • Shared exception types under migration_core.exceptions
  • Enterprise identity helpers and clients under migration_core.identity
  • Supporting architecture and specification docs in docs/ and .specify/

This repository is a library package. It does not currently ship a standalone CLI.

Installation

Install the base package from a package index:

python -m pip install migration-core

Install with GitHub App authentication support:

python -m pip install "migration-core[github-app]"

Install from source for local development and release verification:

python -m pip install -e ".[dev,github-app]"

Optional Extras

  • github-app - adds pyjwt[crypto] for GitHub App JWT generation used by the multi-app adapter flow
  • dev - adds local quality and packaging tools, including pytest, ruff, mypy, and build

Local Verification

After installing the development extras, run:

python -m build
python -m pytest -v
ruff check src tests
mypy src

Current Module Surface

Top-level package exports:

from migration_core import __version__
from migration_core.adapters import SourceAdapter, TargetAdapter
from migration_core.adapters.github import (
    GitHubAppConfig,
    GitHubBaseAdapter,
    GitHubCloudAdapter,
    GitHubCloudDRAdapter,
    GitHubServerAdapter,
    MultiAppGitHubAdapter,
)
from migration_core.exceptions import APIError, MigrationError
from migration_core.models import GitHubRulesetConfig, Repository, User

Additional identity clients are available as submodules:

from migration_core.identity.github_saml import GitHubSAMLClient
from migration_core.identity.github_scim import GitHubSCIMClient

Repository Layout

  • src/migration_core/ - package source
  • tests/ - unit and integration tests
  • docs/architecture/ - architecture reference docs
  • .specify/ - shared specification kit assets used by product repos

License

Licensed under the Business Source License 1.1. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

migration_core-0.1.0.tar.gz (54.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

migration_core-0.1.0-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file migration_core-0.1.0.tar.gz.

File metadata

  • Download URL: migration_core-0.1.0.tar.gz
  • Upload date:
  • Size: 54.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for migration_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 437bed6ef869b1d63e6c0fd0520da3351258a0779b93f154f8ffa083d45c334a
MD5 a6abb0770cbc99c9332167a17ff5d7fa
BLAKE2b-256 9acaacb57c75762fcf42df7143d69bd3b0d61c253f00e819e9157d77335feb20

See more details on using hashes here.

Provenance

The following attestation bundles were made for migration_core-0.1.0.tar.gz:

Publisher: publish.yml on n8group-oss/migration-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file migration_core-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: migration_core-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for migration_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3b4afc15c26d7eccf22adde28dfe6d63cb9dd878c18115302068ce54ab68202
MD5 91016ab11e4d44681da92ff8f61cf832
BLAKE2b-256 d83c6856e136d6f514618d46888233c425d79db0345487a9416bfc42ac93288f

See more details on using hashes here.

Provenance

The following attestation bundles were made for migration_core-0.1.0-py3-none-any.whl:

Publisher: publish.yml on n8group-oss/migration-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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