Metadata-Version: 2.1
Name: numerous
Version: 0.43.2
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
Requires-Dist: typing-extensions>=4.12.2
Requires-Dist: ariadne-codegen[subscriptions]>=0.14.0
Requires-Dist: plotly>4
Requires-Dist: requests>=2.32.3
Provides-Extra: dev
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pytest==8.3.2; extra == "dev"
Requires-Dist: pytest-asyncio==0.24.0; extra == "dev"
Requires-Dist: ruff==0.6.4; extra == "dev"
Requires-Dist: mypy==1.11.2; extra == "dev"
Requires-Dist: types-requests>=2.32.0; extra == "dev"
Requires-Dist: coverage==7.6.1; extra == "dev"
Requires-Dist: twine==5.1.1; extra == "dev"
Requires-Dist: marimo==0.8.14; extra == "dev"
Requires-Dist: pydantic==2.9; extra == "dev"
Requires-Dist: types-setuptools>=74.1.0; extra == "dev"
Requires-Dist: build==1.2.2; extra == "dev"
Requires-Dist: mkdocs==1.6.0; extra == "dev"
Requires-Dist: mkdocstrings==0.26.2; extra == "dev"
Requires-Dist: mkdocstrings-python==1.12.2; extra == "dev"
Requires-Dist: mkdocs_snippet_plugin==1.0.2; extra == "dev"
Requires-Dist: mkdocs-material==9.5.46; extra == "dev"
Requires-Dist: mkdocs-gen-files==0.5.0; extra == "dev"
Requires-Dist: mkdocs-section-index==0.3.9; extra == "dev"
Requires-Dist: mkdocs-literate-nav==0.6.1; extra == "dev"
Requires-Dist: flask; extra == "dev"
Requires-Dist: fastapi; extra == "dev"
Requires-Dist: marimo; extra == "dev"
Requires-Dist: streamlit; extra == "dev"
Requires-Dist: dash; extra == "dev"
Requires-Dist: panel; extra == "dev"

Numerous Software Development Kit
=================================

[![pypi badge](https://img.shields.io/pypi/v/numerous)](https://pypi.python.org/pypi/numerous)
[![Validate workflow badge](https://github.com/numerous-com/numerous-sdk/actions/workflows/validate.yml/badge.svg)](https://github.com/numerous-com/numerous-sdk/actions/workflows/validate.yml) 
[![Release workflow badge](https://github.com/numerous-com/numerous-sdk/actions/workflows/release.yml/badge.svg)](https://github.com/numerous-com/numerous-sdk/actions/workflows/release.yml) 
![cli coverage badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/jfeodor/a9b9bfdfa0620696fba9e76223790f53/raw/cli-coverage.json)
![sdk coverage badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/jfeodor/a9b9bfdfa0620696fba9e76223790f53/raw/sdk-coverage.json)

Welcome to the Numerous SDK documentation!

This is the documentation for the SDK, if you are looking an overview of the
Numerous platform, please visit the
[Numerous platform documentation](https://numerous.com/docs).

📥 To begin, install the SDK into your Python environment with:

    pip install numerous

🛠 The installation includes two main components; the CLI and the numerous
Python package.

## Command Line Interface (CLI) - a tool for managing your apps

   Use the CLI to deploy and manage apps on the Numerous platform:

   - `numerous init` - Create a new Numerous app
   - `numerous deploy` - Deploy your app to production

## Python SDK package - integrate Numerous features into Python-based web apps

  The SDK enables you to interact with Numerous services programmatically in
  your Python web applications.
  
  * Store and organize data (JSON documents, and files) with collections.
  * Access information about users and manage user interaction with sessions.


SDK Development
===============

This section contains information about how to develop the SDK itself for
developers interested in contributing to the SDK.

Most common tasks are defined in the `Makefile`. Use `make help` to get an
overview.

In order to setup pre-commit hooks, use [pre-commit](https://pre-commit.com/) to
to setup hooks for linters and tests. This requires pre-commit to be installed
of course, and it is included in the python SDK development dependencies.

To install pre-commit and pre-push hooks

    pre-commit install

And you can run them on demand

    pre-commit run --all

Development of python SDK 🐍
----------------------------

Create a virtual environment and activate it

    python -m venv ./venv
    ./venv/bin/activate

Install the package in editable mode (including development dependencies)

    pip install -e ./python[dev]

Run the tests

    make sdk-test

And the linters

    make sdk-lint

Development of go CLI 🐹
------------------------

To build run `make cli-build`, and the executable is stored as `build/numerous`

While developing you can run the CLI like below.

    # Run the CLI
    go run .

    # e.g.
    go run . init
    go run . dev

You can lint with:

    make cli-lint

And you can run tests with

    make cli-test
