Skip to content
@DataIntegrationGroup

DataIntegrationGroup

Software Development Policies

Python

  • All Python projects shall use the psf "black" code formatter or the ruff linter and the mypy type checker.
    • All linting and type checking shall be performed in pre-commit hooks and GitHub Actions.
    • Badges shall be added to the project's README file for linting and type checking.
  • All Python projects shall use pre-commit hooks for linting, type checking, and formatting.
    • Formatting shall be done in pre-commit hooks so that linting and type checking are done on formatted code and the git history is clean.
  • All Python projects shall have unittests that execute automatically on pull requests to pre-production and main branches
  • All Python projects shall follow this style guide.
  • Follow the Zen of Python.
  • All Python classes and functions shall have type hints and doc strings, no matter how trivial (e.g. a function doesn't return anything: def f(...) -> None:)

API

  • All endpoints shall use kebab-case.
  • All fields in responses shall use snake_case.

Web Development

  • Web applications shall be built using React.
  • Web applications should be built using a React metaframework; Refine.dev is preferred.
  • Web applications shall use MaterialUI or PrimeReact as a UI component library.
  • Web applications shall be bundled using Vite.

Database

  • PostgreSQL shall be used for all projects.
    • Extensions, such as PostGIS and TimescaleDB, may be used in conjunction with PostgreSQL.
  • Databases shall be maintained such that they are never using an EOL version.

Git & Collaboration

  • Git commits shall follow Conventional Commits standards.
  • All default branches shall be named main.
  • All base development branches shall be named pre-production.
    • All users shall base their development branches off of pre-production.
    • When ready, a pull request shall be opened from a user's development branch into pre-production. After mergeing with pre-production, all project participants shall pull the latest pre-production updates to their local environments, merge those changes to their development branches, and resolve merge conflicts.
  • All tests must pass before a development branch can be merged with pre-production.
  • All merge conflicts must be resolved before a development branch can be merged with pre-production.

Pinned Loading

  1. DataIntegrationEngine DataIntegrationEngine Public

    This package provides a command line interface to New Mexico Water Data Initiaive's Data Integration Engine. This tool is used to integrate the water data from multiple sources

    Python 1

  2. AquaDuct AquaDuct Public

    New Mexico Water Data Initiative's data pipeline

    Shell

  3. NMSampleLocations NMSampleLocations Public

    Python

Repositories

Showing 10 of 15 repositories

Top languages

Loading…

Most used topics

Loading…