Skip to content

Latest commit

 

History

History
104 lines (74 loc) · 3.1 KB

CONTRIBUTING.adoc

File metadata and controls

104 lines (74 loc) · 3.1 KB

KAPTURE kapture: Contributing

1. Overview

There are many ways to contribute to the kapture project:

  • provide feedback and suggestions of improvements

  • submit bug reports in the project bug tracker

  • provide a dataset in kapture format that we can add to the downloader tool

  • implement a feature or bug-fix for an outstanding issue

  • add support of kapture format in other software packages (e.g. SfM pipelines…​), thus adding support for more datasets

  • provide scripts to create data in kapture format (e.g. local/global feature extraction)

  • propose a new feature and implement it

We’re happy to help you make kapture better, so please mail us at kapture at naverlabs+com for additional information.

The rest of the document concerns software contributions.

2. Install kapture

To develop kapture on your machine, here are some installation tips:

  • Clone a copy of kapture from source:

git clone https://github.com/naver/kapture.git
  • Please note that kapture requires python version 3.6 or higher

  • install dependencies

pip install -r requirements.txt

3. Codebase structure

kapture                  # Repository root path
├─ assets/               # Various files (images) used in the project (e.g. for documentation)
├─ kapture/              # kapture library source code
│  ├─ algo/              # Algorithmic related files
│  ├─ converters/        # Converters libraries
│  ├─ core/              # Core kapture objects
│  ├─ io/                # I/O related files
│  └─ utils/             # Various generic utilities
├─ samples/              # data samples (kapture and other formats). Used by tests.
├─ tests/                # Unit and functional tests
└─ tools/                # kapture tools scripts (importers, exporters, utilities)

4. Coding guidelines

Style Guide

kapture code follows Python’s PEP-8 guidelines with a few differences:

  • Maximum Line Length is 120 characters

  • function arguments types should be specified

  • return types of functions should be specified

Docstrings are written in the sphinx format.

Conventions
  • Variable names should be explicit (e.g. avoid acronyms)

  • private member variables should start with an _ (underscore)

File headers

All kapture source code files should start with this line:

#!/usr/bin/env python3
​# Copyright 2020-present NAVER Corp. Under BSD 3-clause license
Loggers

The library and the clients should use different loggers.

Documentation

All API functions should be properly documented using docstrings

5. Unit testing

kapture’s testing is located under tests/. Run the entire test suite with

python -m unittest discover -s tests/

or run individual test files, like python test/test_nn.py, for individual test suites.

6. License

Contributions will be provided under the same license as kapture, that is the 3-Clause BSD license (see LICENSE for details).