Description Code Standards
Required Before Each Commit
Run make fmt before committing any changes to ensure proper code formatting
This will run gofmt on all Go files to maintain consistent style
Development Flow
make a virtual environment and install with developer setting using pip install -e .[dev]
use invoke lint for linting check
use invoke format for auto formatting
use invoke tests to run the unittests
use invoke generate-proto-classes -t python to create the python classes for the .proto definitions.
Repository Structure
src/: is where the library code is
src/core.py: contains core library logic
src/conversions.py: contains conversion functions between COMPAS types to their protobuf representation.
src/api.py: contains
src/generated: contains the auto-generated python class definitions created from the IDL files.
IDL contains protobuf definitions for types in the compas library, typically geometry primitives etc importable from compas.geometry.
Key Guidelines
Follow python's best practices and idiomatic patterns
Maintain existing code structure and organization
Write unit tests for new functionality. prefer one or two concise tests rather than many different ones
Add numpy style docstrings to public API functions and classes.
Reactions are currently unavailable
You can’t perform that action at this time.
Code Standards
Required Before Each Commit
make fmtbefore committing any changes to ensure proper code formattingDevelopment Flow
pip install -e .[dev]invoke lintfor linting checkinvoke formatfor auto formattinginvoke teststo run the unittestsinvoke generate-proto-classes -t pythonto create the python classes for the.protodefinitions.Repository Structure
src/: is where the library code issrc/core.py: contains core library logicsrc/conversions.py: contains conversion functions between COMPAS types to their protobuf representation.src/api.py: containssrc/generated: contains the auto-generated python class definitions created from the IDL files.IDLcontains protobuf definitions for types in the compas library, typically geometry primitives etc importable fromcompas.geometry.Key Guidelines