mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-11 02:24:38 +08:00
72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
# Contributing to nerfactory workflow
|
|
|
|
The project is set up for development in VSCode, we reccomend using it if you plan to contribute.
|
|
|
|
## TLDR
|
|
|
|
| | |
|
|
| --------------- | ------ |
|
|
| linter | Black |
|
|
| Testing | PyTest |
|
|
| Docs | Sphinx |
|
|
| Docstring style | Google |
|
|
|
|
## Commiting
|
|
|
|
1. Make your modifications
|
|
2. Perform local checks
|
|
|
|
To ensure that you will be passing all tests and checks on github, you will need to run the following command:
|
|
|
|
```bash
|
|
python scripts/debugging/run_actions.py
|
|
```
|
|
|
|
This will perform the following checks and actions:
|
|
|
|
- Black/ Linting style check: Ensure that the code is consistently and properly formatted.
|
|
- Pytests: Runs pytests locally to make sure the logic of any added code does not break existing logic.
|
|
- Documentation build: Builds the documentation locally to make sure none of the changes result in any warnings or errors in the docs.
|
|
- Licensing: automatically adds licensing headers to the correct files.
|
|
|
|
In order to merge changes to the code base, all of these checks must be passing. If you pass these tests locally, you will likely pass on github servers as well (results in a green checkmark next to your commit).
|
|
|
|
3. Open pull request
|
|
|
|
## Documentation
|
|
|
|
### Requirements
|
|
|
|
To install the required packages:
|
|
|
|
```bash
|
|
pip install -r docs/requirements.txt
|
|
```
|
|
|
|
You may also need to install [pandoc](https://pandoc.org/). If you are using `conda` you can run the following:
|
|
|
|
```bash
|
|
conda install -c conda-forge pandoc
|
|
```
|
|
|
|
### Building
|
|
|
|
Run the following to build the documentation:
|
|
|
|
```bash
|
|
cd docs
|
|
make clean
|
|
make html
|
|
```
|
|
|
|
Rerun `make html` when documentation changes are made, `make clean` is necissary if the documentation structure changes.
|
|
|
|
### Auto build
|
|
|
|
If you want the code to build on save you can use [sphinx autobuild](https://github.com/executablebooks/sphinx-autobuild). If changes to the structure are made, the build files may be incorrect.
|
|
|
|
```bash
|
|
pip install sphinx-autobuild
|
|
sphinx-autobuild docs docs/_build/html
|
|
```
|