Python SDK for the Mighty Spatial IFC-to-GIS conversion API
Project description
mightyspatial
Python SDK for the Mighty Spatial IFC-to-GIS conversion API. Convert IFC (BIM) files to GeoJSON, GeoPackage, Shapefile, and File Geodatabase.
Documentation | Free Web Converter | Get API Key
Installation
pip install mightyspatial
Quick Start
One-step conversion
from mightyspatial import convert
# Convert with no API key (free tier: 5/month, up to 50MB)
result = convert("building.ifc")
print(result) # /path/to/building.geojson
# Specify output format
convert("building.ifc", output_format="geopackage")
Using the client
from mightyspatial import MightySpatial
ms = MightySpatial(api_key="ms_...")
# One-step convert
ms.convert("building.ifc", output_format="geojson")
# Convert from a URL
ms.convert(file_url="https://example.com/model.ifc", output_path="output.geojson")
# Strip property name prefixes/suffixes
ms.convert("building.ifc", strip_prefix="Pset_", strip_suffix="_Value")
# Include CSV attribute tables
ms.convert("building.ifc", include_csv=True)
Preview and download (two-step)
ms = MightySpatial(api_key="ms_...")
# Step 1: Preview -- inspect layers and metadata before downloading
preview = ms.preview("building.ifc")
print(preview["detected_crs"])
print(preview["layers"])
# Step 2: Download in your preferred format
job_id = preview["job_id"]
ms.download(job_id, output_format="geopackage", output_path="building.gpkg")
Pipe generation
ms = MightySpatial(api_key="ms_...")
preview = ms.preview("pipes.ifc")
job_id = preview["job_id"]
# Find the polyline layer
polyline_layer = next(l for l in preview["layers"] if "Line" in l["geometry_type"])
# Generate 3D pipe geometry
pipes = ms.generate_pipes(
job_id=job_id,
source_layer=polyline_layer["name"],
features=polyline_layer["geojson"]["features"],
default_diameter=300,
uom="mm",
segments=8,
)
print(pipes["layer"]["feature_count"])
API key from environment variable
export MIGHTY_SPATIAL_API_KEY="ms_..."
from mightyspatial import convert
# Automatically uses MIGHTY_SPATIAL_API_KEY
convert("building.ifc")
Supported Output Formats
| Format | Extension | Free Tier | Pro Tier |
|---|---|---|---|
| GeoJSON | .geojson |
Yes | Yes |
| GeoPackage | .gpkg |
-- | Yes |
| Shapefile | .shp.zip |
-- | Yes |
| File GDB | .gdb.zip |
-- | Yes |
Pricing
| Tier | Price | Conversions | Max File Size |
|---|---|---|---|
| Free | $0 | 5/month | 50 MB |
| Pro | $0.50/conversion | 100/month | 500 MB |
| Enterprise | Custom | Unlimited | Custom |
Get your API key at mightyspatial.com/dashboard.
Error Handling
from mightyspatial import MightySpatial, RateLimitError, FileTooLargeError
ms = MightySpatial()
try:
ms.convert("large_building.ifc")
except RateLimitError as e:
print(e) # Includes upgrade URL
print(e.help_url) # https://mightyspatial.com/dashboard
except FileTooLargeError as e:
print(e) # Includes tier limits
Links
License
MIT -- see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mightyspatial-0.2.1.tar.gz.
File metadata
- Download URL: mightyspatial-0.2.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d07f0df22adec9dedf2433ae612b5e408a6e7cd29ef4338a62c249d87cb69c0
|
|
| MD5 |
407bd2706938d85de1661103d1fed2ce
|
|
| BLAKE2b-256 |
ca59a2a213277902eb8dce7edaf64bf3acf0db24aff0717e0d94c69e1637d85a
|
File details
Details for the file mightyspatial-0.2.1-py3-none-any.whl.
File metadata
- Download URL: mightyspatial-0.2.1-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bc825c0adf63740191519c55d1f3ffc1e03fcdce3230266679d0ae1a6fa6a09
|
|
| MD5 |
96ade39d3149eda177f5a7607914a985
|
|
| BLAKE2b-256 |
d2f01d05c483905a65c29ebc6cdd12653c455abd5033bb69ae8cb451838dfbf3
|