Metadata-Version: 2.4
Name: allsolve
Version: 0.4.4
Summary: Quanscient Allsolve SDK
Project-URL: Homepage, https://quanscient.com
Project-URL: Repository, https://github.com/Quanscient-Public/allsolve-sdk-python
Project-URL: Issues, https://github.com/Quanscient-Public/allsolve-sdk-python/issues
Project-URL: Changelog, https://github.com/Quanscient-Public/allsolve-sdk-python/blob/main/CHANGELOG.md
Author-email: Asser Lähdemäki <asser.lahdemaki@quanscient.com>, Toni Partanen <toni.partanen@quanscient.com>
License-File: LICENSE
Keywords: acoustics,allsolve,cloud-simulation,cmut,electric-motors,electromagnetics,fea,fem,finite-element,gds,gdsii,harmonic-balance,heat-transfer,mems,meshing,microspeaker,multiphysics,parametric-sweep,pareto-front,piezoelectric,pmut,quanscient,radio-frequency,scientific-computing,simulation,solid-mechanics,superconductors,surrogate-model,transducer,ultrasonics
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: aenum>=3.1.0
Requires-Dist: pydantic>=2.7.2
Requires-Dist: python-dateutil>=2.8.0
Requires-Dist: python-dotenv>=0.20.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.28.0
Requires-Dist: urllib3>=1.26.0
Requires-Dist: zstandard>=0.18.0
Provides-Extra: dataframe
Requires-Dist: pandas>=2.0; extra == 'dataframe'
Provides-Extra: full
Requires-Dist: pandas>=2.0; extra == 'full'
Description-Content-Type: text/markdown

# Quanscient Allsolve SDK

[![PyPI version](https://img.shields.io/pypi/v/allsolve)](https://pypi.org/project/allsolve/)
[![Python](https://img.shields.io/pypi/pyversions/allsolve)](https://pypi.org/project/allsolve/)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)

Python SDK for [Quanscient Allsolve](https://allsolve.quanscient.com/) — a cloud-based multiphysics simulation platform.

Automate multiphysics simulations from Python. Define geometry, materials, physics, and boundary conditions in code — then solve in the cloud.

- **Multiphysics simulation** — structural, electromagnetic, acoustic, thermal, fluid, and coupled physics
- **Geometry tools** — programmatic primitives & operations, or import STEP / IGES / GDS2 / mesh files
- **Parametric sweeps** — run thousands of design variations with a single script
- **Cloud-native** — no local solvers to install; results stream back to your Python session
- **Export & reproduce** — serialize entire projects to YAML/JSON for version control and sharing

## Installation

Requires Python 3.10 or newer.

```bash
pip install allsolve
```

## Authentication

Create an Organization API key in the Allsolve web UI:

**Settings > API keys > "Create key"**

Then create a `.env` file with your credentials:

```
ALLSOLVE_ACCESS_KEY=your-access-key-here
ALLSOLVE_SECRET_KEY=your-secret-key-here
ALLSOLVE_HOST=https://allsolve.quanscient.com/
```

Or pass them directly:

```python
client = allsolve.Client(
    api_key="your-access-key-here",
    api_secret="your-secret-key-here",
)
```

## Quick Start

```python
import allsolve

client = allsolve.Client(dotenv_file=".env")

project = client.create_project(
    name="My Simulation",
    description="Created with Allsolve SDK",
)
print(f"Project URL: {client.get_url(project)}")
```

## Examples

See the [`examples/`](examples/) directory for complete working examples, including:

- **hello_world** — Create and delete a project
- **bending_beam** — Parametric sweep of a bending beam simulation
- And more

## Documentation

- **SDK reference**: <https://allsolve.quanscient.com/documentation/reference/allsolve-sdk>
- **Full documentation**: <https://allsolve.quanscient.com/documentation>

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.

## License

This project is licensed under the Apache License 2.0 — see [LICENSE](LICENSE) for details.
