Skip to main content

No project description provided

Project description

se-admin

Docs Site Repo Python 3.15+ License

CI Docs Links

Structural Explainability Admin: administration of the SE ecosystem.

SE Admin is a data-driven system that applies composable operations over repository surfaces with declarative targets and selectable scope to move repos between states.

Owns

  • enforcement of constitution (automation)
  • repository lifecycle operations
  • cross-repository consistency

Includes

scaffolding

  • repository templates

synchronization

  • configuration propagation

validation orchestration

  • multi-repo validation execution

workflow reuse

  • shared GitHub Actions

bulk operations

  • dependency upgrades
  • structural updates

Overview

data/       = declared desired state, no logic, only declarations
observe/    = actual repo state, no decisions, only facts
checks/     = pure comparison, no side effects
actions/    = primitive mutations
migrations/ = composed actions
reports/    = human/machine output projections only
domain/
  repo        - repository
  profile     = named bundle of expectations (paths, workflows, checks)
  selector    = how you choose repos (set, name, pattern)
  finding     = result of a check
repos.toml       = instances: which repos exist, repo sets, assigned profiles
profiles.toml    = reusable traits: profile definitions
checks.toml      = constraints: check definitions and canonical comparisons
migrations.toml  = transformations: named migration recipes
data (declared) -> observe (actual) -> checks (compare) -> actions/migrations -> reports

Operation Requirements

Data describes operations and a small interpreter executing them

All operations must be:

  • deterministic
  • idempotent
  • side-effect scoped

Examples:

  • delete_file is OK if missing
  • add_dependency is OK if already present
  • replace_text is no-op if not found

Operation Taxonomy

Detection (no side effects)

  • path_exists
  • path_missing
  • toml_key_exists
  • toml_value_equals
  • dependency_present
  • workflow_present

Mutation (single responsibility)

Filesystem

  • create_file
  • delete_file
  • copy_file
  • ensure_directory
  • rename_path TOML
  • toml_set_key
  • toml_remove_key
  • toml_add_dependency
  • toml_remove_dependency
  • toml_ensure_table Workflows (still files, but special intent)
  • ensure_workflow
  • remove_workflow
  • replace_workflow Text
  • replace_block
  • insert_block
  • remove_block Process
  • run_command

Composition

Operation =
  AtomicOperation
  | Sequence[Operation]
  | Conditional(condition, Operation)

Example

A tool transition is a declarative description of how to remove one capability and establish another across all affected surfaces.

Sequence(
  Conditional(detect_mkdocs, Sequence(
    delete_file("mkdocs.yml"),
    toml_remove_dependency("mkdocs"),
    remove_workflow("deploy-mkdocs.yml")
  )),

  Sequence(
    create_file("zensical.toml"),
    toml_add_dependency(group="docs", name="zensical"),
    ensure_workflow("deploy-zensical.yml"),
    ensure_directory("docs")
  )
)

Command Reference

Show command reference

In a machine terminal

Open a machine terminal where you want the project:

git clone https://github.com/structural-explainability/se-admin

cd se-admin
code .

In a VS Code terminal

# if strange errors, clean uv cache
# uv cache clean

uv self update
uv python pin 3.15
uv sync --extra dev --extra docs --upgrade

uvx pre-commit install

git add -A
uvx pre-commit run --all-files
# repeat if changes were made
git add -A
uvx pre-commit run --all-files

# run the module
uv run python -m se_admin show

# do chores
uv run python -m pyright
uv run python -m pytest
uv run python -m zensical build

# save progress
git add -A
git commit -m "update"
git push -u origin main

Portability fixture checks verifying that se-admin can load and operate on a non-SE repository family using an alternate data root.

uv run python -m se_admin --data tests/fixtures/streaming-admin/data repos
uv run python -m se_admin --data tests/fixtures/streaming-admin/data check --set modules
uv run python -m se_admin --data tests/fixtures/streaming-admin/data check --set admin
uv run python -m se_admin --data tests/fixtures/streaming-admin/data run --dry-run normalize_core_files

</details>

## Citation

[CITATION.cff](./CITATION.cff)

## License

[LICENSE](./LICENSE)

## Manifest

[SE_MANIFEST.toml](./SE_MANIFEST.toml)

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

se_admin-0.2.0.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

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

se_admin-0.2.0-py3-none-any.whl (44.3 kB view details)

Uploaded Python 3

File details

Details for the file se_admin-0.2.0.tar.gz.

File metadata

  • Download URL: se_admin-0.2.0.tar.gz
  • Upload date:
  • Size: 44.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for se_admin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 65db686b801faad0cb988841af477dbc169e6d7a500b411e061beb1ba194ca28
MD5 c14745fe390851f16b076c139807e7ef
BLAKE2b-256 4aefb2b4409cd803bf09558d4a6ab31023a922486a9a41537716120aa1cf7f73

See more details on using hashes here.

Provenance

The following attestation bundles were made for se_admin-0.2.0.tar.gz:

Publisher: release-pypi.yml on structural-explainability/se-admin

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

File details

Details for the file se_admin-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: se_admin-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 44.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for se_admin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb762652d1c4b6f133aa8d9438c9adfee5cadedf70d0ea2b03020d656ffdd4f6
MD5 3830acf2e41288e4525947d1d3cebcc3
BLAKE2b-256 be017752c8e552effde82f175931cb639411ca4eb0a4def38599950841770655

See more details on using hashes here.

Provenance

The following attestation bundles were made for se_admin-0.2.0-py3-none-any.whl:

Publisher: release-pypi.yml on structural-explainability/se-admin

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