Please read the code of conduct prior to contributing. Then follow these guidelines:
- Create a fork of the repository.
- Ensure all tests pass
- Make a PR to the main repository
- Ping one of the maintainers to review your PR (best way to reach us is via the slack community)
Please:
- Keep your commits modular
- Add descriptive commit messages
- Attach a PR to an issue if applicable
- Ensure all new features have tests
- Add documentation for new features
Assigning yourself to an issue signals that you are actively working on it. This applies equally to maintainers, committers, and external contributors.
- Only assign yourself if you have a PR open or are about to start coding.
- 14 days without visible activity (PR, commit, or comment): a triager will comment asking for a status update.
- 21 days total without response: the assignee is removed and
help wantedis added so someone else can pick it up. - Re-assignment is welcome. If you want to take over, comment on the issue.
- Umbrella and tracking issues marked with
lifecycle/frozenare exempt.
This is enforced by a weekly automated check. If you need more time, just drop a comment on the issue to reset the clock.
Apache Burr comes with a cli that is both user/developer facing.
this is required in order to publish, do not do so otherwise
This will be turned into a Makefile, but for now we have a set of commands in pyproject.toml that are used to publish, etc...
To run the just the server for development:
$ burr --dev-mode --no-open # will run the server on port 7241To publish -- this will build the FE + publish the BE to the pypi prod instance. Note you have to have pypi credentials to do this:
$ burr-admin-publish --prodTo generate the demo data (if you make a change to the schema, ideally forward-compatible):
$ burr-admin-generate-demo-dataNot part of the CLI (yet), but running just the UI is simple:
$ cd burr/ui
$ npm run startSeveral static assets are included in the python package so we can run the UI. Namely:
- The examples directory is symlinked from
burr/examplesto allow for package-style imports - The build/ directory is symlinked from
burr/tracking/serverto allow for static assets referred to by the server to be included in the package. Note that this does not get committed -- this requires use of the CLI above.