Skip to main content

Madbot community Data plugin for Abromics file access

Project description

madbot-community-abromics

Madbot Data plugin for Abromics: Python package abromics-plugin, import path abromics_plugin, main class AbromicsPlugin, Django app config AbromicsPluginConfig.

Upstream: madbot_community_abromics on GitLab.

What it does

Registers a Madbot plugin that exposes Abromics-backed data and file access so the Madbot API (and clients such as Abromics Analysis) can open connections and resolve datalinks. The connection payload from Abromics uses plugin id:

abromics_plugin.plugins.AbromicsPlugin

Requirements

  • Python 3.10+
  • A running Madbot API using the same interpreter / virtual environment as this package (and the same for Celery workers if you use them).
  • Dependencies: django, requests (see pyproject.toml). Madbot’s plugin_api is expected to be on PYTHONPATH when Madbot runs.

Install

Clone and install in editable mode from the directory that contains pyproject.toml:

git clone git@gitlab.com:ifb-elixirfr/madbot/plugins/community/madbot_community_abromics.git
cd madbot_community_abromics
pip install -e .

If your Madbot checkout provides a helper (e.g. a Pixi task in api/ that installs this path), you can use that instead—what matters is that import abromics_plugin succeeds in the process that serves the API and runs background jobs.

Docker: add the same pip install -e . (or equivalent) to the API (and worker) image build, not only your laptop venv.

Configure Madbot

  1. Add the Django app module to MADBOT_INSTALLED_PLUGINS (comma-separated list in .env):

    MADBOT_INSTALLED_PLUGINS=abromics_plugin,madbot_ena
    

    Include any other plugins you use; order is only relevant if you rely on specific discovery behaviour.

  2. Restart the API and Celery (or reload as your deployment does).

  3. After changing plugin metadata, run Madbot’s plugin reload if your setup uses it (e.g. reload_plugins management command) so schemas stay in sync.

If POST /api/connections returns 400 with plugin / does_not_exist, the runtime cannot import abromics_plugin.plugins.AbromicsPlugin—fix the install in that environment and restart.

Package layout

Path Role
abromics_plugin/ Django app and plugin implementation
abromics_plugin/plugins.py AbromicsPlugin (Data plugin class)
abromics_plugin/apps.py AbromicsPluginConfig

PyPI-style name: abromics-plugin ([project].name in pyproject.toml).

CI / PyPI releases

On push to dev, GitLab CI runs semantic-release (conventional commits). If there is a releasable change, it bumps the version in pyproject.toml and abromics_plugin/__init__.py, updates CHANGELOG.md, builds the sdist/wheel, uploads to PyPI, and pushes the release commit.

CI/CD variables (Settings → CI/CD → Variables):

Variable Purpose
GITLAB_TOKEN Project access token with api + write_repository (push tags/commits from the job)
PYPI_TOKEN PyPI API token (upload scope); used as twine password with username __token__

Local dry-run (optional): pixi install -e dev && npm install && npx semantic-release --dry-run (export the same env vars or use .env tooling—never commit tokens).

License

MIT — Copyright (c) 2026 Abromics Team.

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

abromics_plugin-1.0.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

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

abromics_plugin-1.0.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file abromics_plugin-1.0.0.tar.gz.

File metadata

  • Download URL: abromics_plugin-1.0.0.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for abromics_plugin-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cf54d99e4431ed9f1d7bc9e0e7ab7c96fd0c06a2b8e0a11ae0ba7bbb689b6707
MD5 15c5aa87dbdc7cf02bbf1d03c91ed8e7
BLAKE2b-256 4e05826b1fa082f64c42dcd0cfc2b39b5f075a017d3407e5e7986ef6dbff2d2b

See more details on using hashes here.

File details

Details for the file abromics_plugin-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for abromics_plugin-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa176554b6e8051ec032b528544a865eb2e6955ff46b3109ee5f67aef4d57f65
MD5 df0fb9c4144a4ab79a8461fc75fbc7c8
BLAKE2b-256 d3f7e654aea4f0cf6580baf4559ba0ca3c3fd073addb0f504d1157cfe0a0aee0

See more details on using hashes here.

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