Skip to main content

Models for REMBI and MIFA metadata specifications for FAIR bioimaging data.

Project description

rembi-mifa

Pydantic-based python models for REMBI and MIFA metadata for FAIR bioimaging data.

Usage

See examples/ directory.

Notes

The original specs lack some documentation and have a few other quirks. The implementation here may differ from the intended structure in these cases.

  • The REMBI specification refers to but does not define the AnnotationType type; here we use the MIFA AnnotationType enum.
  • the REMBI specification refers to the License type but it is empty; there is no MIFA type of the same name (although LicenseType is close). We just accept a string, and recommend using an SPDX identifier.

This implementation is opinionated on certain serialisation/deserialisation features:

  • Optional list fields are omitted if empty; optional list fields which are omitted are deserialised to empty lists.
  • Date and datetime values are deserialised from RFC 3339 strings or stringified seconds (or milliseconds, depending on the value) since the unix epoch, and serialised to RFC 3339 strings (see the pydantic docs for more details)
  • ORCiD IDs may be parsed as only the identifier, but are normalised to URLs; the checksum is also validated
  • in a few cases, the specification requires a list but does not state that the list must be non-empty, so this is not validated
  • the keywords field of rembi.Study is probably supposed to represent a delimited list, but it's not specified, so it's left as a plain string here

Contributing

Use the justfile for most common development tasks.

Releases should be published from CI. just bump minor will

  • run various tests
  • check that your working tree is clean
  • check you are on the main branch
  • bump the minor project version
  • commit that change
  • tag that commit
  • push the changes and tag

Then CI will deploy to PyPI.

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

rembi_mifa-0.1.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

rembi_mifa-0.1.2-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file rembi_mifa-0.1.2.tar.gz.

File metadata

  • Download URL: rembi_mifa-0.1.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rembi_mifa-0.1.2.tar.gz
Algorithm Hash digest
SHA256 36bddf3890ad79f4e0c56092305c4013a0165a7fc6e56f22a09cae2a6a70c1f9
MD5 dbc6ef06c3014e8853645651de11a8c0
BLAKE2b-256 8d00842bd372f7bec705ca430ede65a70ae1afbaffd3a297432948e6ddac7000

See more details on using hashes here.

File details

Details for the file rembi_mifa-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: rembi_mifa-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rembi_mifa-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2a0f157ceafeb695b7655e74e2b4f63cf8aca22fd2356ac4e0b4d0261bdff65
MD5 bc04f8a4c7a6da6a6287d5c4a423bada
BLAKE2b-256 8ecf98455b5b6d4600b2ae244c81023e104607e2028c01126bce12b297ef8461

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