Skip to main content

No project description provided

Project description

Modern MISP - API

Ruff Conventional Commits

Requirements

Getting Started

Clone the project and install Python version 3.11.0. It is recommended to install Python using pyenv. Then install all dependencies by typing make setup into your terminal and start your local database container using make up.

Create a file called .env and copy the contents of .env.example into it. Finally, start the development server using make dev.

You should now be able to access the api on localhost:4000.

To use the commandline tool run python .\src\mmisp\commandline_tool\main.py --h from the base directory to view all commands. For detailed information of all commands: python .\src\mmisp\commandline_tool\main.py --help. For setting up the DB use the commandline tool option for setup and then create your user account. In case you have not created a new organisation yet, please add your account to the setup basic organisation: ghost_org.

Run tests using make test (local database container required running) or make test/lite.

Setting up your IDE

Be sure to use the newly created virtual env as your interpreter (./venv/bin/python). Also install the Ruff extension for your IDE and set Ruff as your default code formatter. It is recommended to activate formatting your code on every save.

Best Practices

General Guidelines

The following are some guidelines for writing code, in no particular order:

  • Try to write clean code
  • Use the "early return" pattern, do you really need that else block?
  • Add correct types wherever possible, reduce Any occurrences as much as possible
  • Reduce database calls
  • Be consistent within your code, and within the rest of the codebase
  • Use whitespace generously, to group and separate lines of code
  • Be explicit, magic is great until it is not

Endpoint Ordering

Try to order endpoints using CRUD so that the following order is achieved:

  • Create a {resource}
  • Read / Get a {resource}
  • Update a {resource}
  • Delete a {resource}
  • Get all {resource}s
  • More niche endpoints
  • Deprecated endpoints

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmisp_lib-0.10.0.tar.gz (109.5 kB view details)

Uploaded Source

File details

Details for the file mmisp_lib-0.10.0.tar.gz.

File metadata

  • Download URL: mmisp_lib-0.10.0.tar.gz
  • Upload date:
  • Size: 109.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mmisp_lib-0.10.0.tar.gz
Algorithm Hash digest
SHA256 41cbe2228e460cb7184555a209fa2bfb03671c3a9eb404bf666aedf010e9c240
MD5 1d990a5ffef180be7d33c1b16543597d
BLAKE2b-256 50a39a4d494ac2e7e763f0705c01eb94b13b1e3f55eadb4bdd99bdf3ff5af1dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page