Skip to content

Latest commit

 

History

History
108 lines (74 loc) · 3.67 KB

File metadata and controls

108 lines (74 loc) · 3.67 KB

Contributing

Please read the code of conduct prior to contributing. Then follow these guidelines:

  1. Create a fork of the repository.
  2. Ensure all tests pass
  3. Make a PR to the main repository
  4. Ping one of the maintainers to review your PR (best way to reach us is via the slack community)

Contribution guidelines

Please:

  1. Keep your commits modular
  2. Add descriptive commit messages
  3. Attach a PR to an issue if applicable
  4. Ensure all new features have tests
  5. Add documentation for new features

Issue assignment policy

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 wanted is 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/frozen are 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.

Developer notes

CLI

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 7241

To 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 --prod

To generate the demo data (if you make a change to the schema, ideally forward-compatible):

$ burr-admin-generate-demo-data

Not part of the CLI (yet), but running just the UI is simple:

$ cd burr/ui
$ npm run start

Package data

Several static assets are included in the python package so we can run the UI. Namely:

  1. The examples directory is symlinked from burr/examples to allow for package-style imports
  2. The build/ directory is symlinked from burr/tracking/server to 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.