Skip to content

ArcanaFramework/frametree-extension-template

Repository files navigation

Arcana Extension - changeme

Docs

This repository is a template for Arcana extensions that add DataStore and App classes for the Arcana framework for interacting with custom data management platforms.

How to Customise

After creating a new repository on GitHub from this template, there are a few things you will need to change:

  1. do a global search and replace (across all file-types) for changeme and replace it with the proposed name for your extension
  2. change the author and maintainer tags in the [project] Section of the the pyproject.toml to your name and email address
  3. there are 4 classes within this template repository, which need to be either adopted and renamed (using global search and replace), or removed from the package
    1. data.local.ExampleLocal for data stored on the local file-system in a specific structure (e.g. BIDS)
    2. data.remote.ExampleRemote for data stored in remote data repositories.
    3. deploy.app.ExampleApp for specifying containerized apps that can be executed on data within the data store
    4. deploy.command.ExampleCommand for specifying how the command within the containerized app is executed and configured in the data store
  4. install a local development copy of the new extension package with pip install -e .[dev,test] from inside the code-repo directory (using a virtualenv is recommended)
  5. install pre-commit in the development repo with pre-commit install
  6. Implement the method stubs of your adopted classes
  7. Edit the conftest.py file to add test server location and credentials and install_and_launch_app if implementing ExampleApp
  8. Check your methods work by running the unittests with pytest from inside the code-repo directory. They are set to XFAIL (expected failure) by default so you can focus on implementing one of them at a time.
  9. Change the address of the test action badge at the top of this file to point to your new repository and uncomment out the other badges
  10. Delete this text and above and uncomment the default contents of this README below, adding in any relevant information about the extension (checking the license is appropriate).
  11. Create a new release on GitHub to deploy your new package to PyPI

License

This work is licensed under a Creative Commons Attribution 4.0 International License

Creative Commons Attribution 4.0 International License

About

A template for an Arcana extension repository

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages