Developing ixdat

If there’s an experimental technique or analysis procedure or database or that ixdat should support and doesn’t, it might be because you haven’t coded it yet.

Here are a few resources to help you get started developing ixdat.

Git and Github

The source code for ixdat (and this documentation) lives at: https://github.com/ixdat/ixdat

Note, we are currently compiling from the [user_ready] branch, not the master branch.

To develop ixdat, you will need to use git and github. This means

  • install git. Git bash is strongly recommended for Windows

  • Create an account at https://github.com

  • Clone the repository. Navigate in the terminal which you will use for git (e.g. git bash) to the location that you want the repository (e.g. /c/Users/your_user_name/git/), and type:

    git clone https://github.com/ixdat/ixdat
    
  • Install ixdat from the repository to use the ixdat code you’re working on. You can do this in a virtual environment, but it is simpler to just install it dynamically. In your terminal or Anaconda Prompt, navigate to the folder which contains the ixdat project folder (e.g. /c/Users/your_user_name/git/) and type:

    pip uninstall ixdat
    pip install -e ixdat
    

    If you want to go back to using the released version later, just re-install it from PyPi:

    pip install --upgrade ixdat
    
  • Check out the branch you want to work from. Note, this is also how to use a feature that is under development.:

    git checkout branch_to_work_from
    
  • Make a branch using:

    git branch my_branch_name
    git checkout my_branch_name
    
  • Develop your feature, committing regularly and pushing regularly to your github account.

  • When it’s ready (i.e., works like you want, and passes linting and testing), make a pull request! A pull request (PR) is an awesome open review process that gives others a chance to comment and suggest improvements in your code before it’s merged into the main ixdat package. You can see existing pull requests at https://github.com/ixdat/ixdat/pulls

style

We do our best to follow the conventions at

Exceptions include

  • It’s fine to capitalize names for a quantity that is conventionally capitalized in equations (T for temperature, for example).

The tools black and flake8 help us keep the style up to standards.

tools

We use tools to make sure that our code is both functional and pretty. This makes it easier to work together. See instructions for the tools in tools.rst

Note on ongoing developments

If you develop now, pretend that [user_ready] is the master branch. We are working though some issues in the guts of ixdat to make sure it’ll be able to scale to large projects with SQL backends. Hopefully this won’t change the API much, so that the updated guts won’t require changes in your code. Here is what we’re going through:

_images/21F03_DWS4_frontend_and_planning.png

Git plan as of 21F03 (June 3, 2021)

Write to us

We’d love to know what you’re working on and help with any issues developing, even before you make a PR.

For now, best to reach Soren at sbscott@ic.ac.uk