Development and TODOs

You want to help developing b2luigi? Great! Have your github account ready and let’s go!

Local Development

You want to help developing b2luigi? Great! Here are some first steps to help you dive in:

  1. Make sure you uninstall b2luigi if you have installed if from pypi

    pip3 uninstall b2luigi
    
  2. Clone the repository from github

    git clone https://github.com/nils-braun/b2luigi
    
  3. b2luigi is not using setuptools but the newer (and better) flit as a a builder. Install it via

    pip3 [ --user ] install flit
    

    You can now install b2luigi from the cloned git repository in development mode:

    flit install -s
    
  4. The documentation is hosted on read the docs and build automatically on every commit to master. You can (and should) also build the documentation locally by installing sphinx

    pip3 [ --user ] install sphinx sphinx-autobuild
    

    And starting the automatic build process in the projects root folder

    sphinx-autobuild docs build
    

    The autobuild will rebuild the project whenever you change something. It displays a URL where to find the created docs now (most likely http://127.0.0.1:8000). Please make sure the documentation looks fine before creating a pull request.

  5. If you are a core developer and want to release a new version:

    1. Make sure all changes are committed and merged on master

    2. Use the bumpversion package to update the version in the python file b2luigi/__init__.py as well as the git tag. flit will automatically use this.

      bumpversion patch/minor/major
      
    3. Push the new commit and the tags

      git push
      git push --tags
      
    4. Publish to pipy

      flit publish
      

    At a later stage, I will try to automate this.

Open TODOs

  • Add support for different batch systems, e.g. htcondor and a batch system discovery
  • Integrate dirac or other grid systems as another batch system
  • Add helper messages on events (e.g. failed)