Development Standards

Stage: Draft

Python3

Dependency management

  • We are using poetry as a dependency management and virtual environment tool

Logging

  • Use the built in logging module for logging over print() for big projects.

  • For debugging print also uses the logging module, example:

import logging

logger = logging.getLogger(__name__)

logger.debug("debug message")
logger.info("info message")
logger.error("error message")
logger.warning("warning message")

try:
    ...
except Exception as e:
    logger.exception(e)

Rust

  • TBA

Database and ORM

SQL

HTTP Requests and Tooling

Use httpx instead of requests. Note some services might only allow HTTP2.

Javascript/Typescript

Dependency management

We are using pnpm (not npm) as a dependency management tool

Optional Advice

Use NestJs for backend if you willing to put in some time for learning. It has some learning curve, but it is a very rewarding framework and is becomming an industry standart.

Cryptography and Hashing

We use Blake3 for hashing and Polkadot cryptography libraries (for now).

Last updated

Was this helpful?