Metadata-Version: 2.1
Name: fused
Version: 1.3.0
Summary: 
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: affine (>=2,<3)
Requires-Dist: aiohttp (>=3.8.3,<4.0.0)
Requires-Dist: bottleneck (>=1.3.7,<2.0.0)
Requires-Dist: cftime (>=1.6.2,<2.0.0)
Requires-Dist: click (>=8,<9)
Requires-Dist: contextily (>=1.3.0)
Requires-Dist: fsspec (>=2023.6.0,<2024.0.0)
Requires-Dist: geopandas (>=0.12,<0.13)
Requires-Dist: h5netcdf (>=1.0,<2.0)
Requires-Dist: httpx (>=0.23,<1)
Requires-Dist: importlib-resources (>=5.12.0,<6.0.0)
Requires-Dist: ipywidgets (>=8,<9)
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
Requires-Dist: loguru (>=0.6.0,<0.7.0)
Requires-Dist: matplotlib (>=3.5,<4.0)
Requires-Dist: mkdocs-open-in-new-tab (>=1.0.3,<2.0.0)
Requires-Dist: nest-asyncio (>=1.5,<2.0)
Requires-Dist: netcdf4 (>=1.6,<2.0)
Requires-Dist: pandas (<2) ; python_version == "3.8"
Requires-Dist: pandas (>=2.0.2,<3.0.0) ; python_version >= "3.9"
Requires-Dist: pyarrow (>=11)
Requires-Dist: pydantic (>=1.10,<2.0)
Requires-Dist: pyproj (>=3.3,<4.0)
Requires-Dist: rasterio (>=1.2,<1.3.8)
Requires-Dist: requests (>=2.25,<3.0)
Requires-Dist: rich (>=13,<14)
Requires-Dist: rio-stac (>=0.8.0,<0.9.0)
Requires-Dist: rioxarray (>=0.14.1,<0.15.0) ; python_version >= "3.9" and python_version < "4.0"
Requires-Dist: rtoml (>=0.9.0,<0.10.0)
Requires-Dist: scipy (>=1.9,<2.0)
Requires-Dist: shapely (>=2,<3)
Requires-Dist: stac-geoparquet (>=0.2.1,<0.3.0)
Requires-Dist: urlpath (>=1.2.0,<2.0.0)
Requires-Dist: xarray (==2023.6.0) ; python_version >= "3.9"
Requires-Dist: xarray (>=2023.01.0,<2024.0.0) ; python_version == "3.8"
Requires-Dist: zarr (>=2.15.0,<3.0.0)
Description-Content-Type: text/markdown

<h1 align="center">
  Fused Public Python package
</h1>
<h3 align="center">
  🌎 Code to Map. Instantly.
</h3>
<br><br>

![version](https://img.shields.io/badge/version-1.1.2-blue)

**Fused** is a Python library to code, scale, and ship geospatial workflows of any size. Express workflows as shareable UDFs (user defined functions) without thinking about the underlying compute. The Fused Python library is maintained by [Fused.io](https://fused.io).

## Prerequisites

Python >= 3.8

## Install

Fused is currently in private beta. Email info@fused.io for access.

```
pip install fused
```

## Quickstart

```python3
import fused


# Load data
census = 's3://fused-asset/infra/census_bg_us/'
buildings = 's3://fused-asset/infra/building_msft_us/'

# Declare UDF
@fused.udf()
def census_buildings_join(left, right):
    import fused
    df_joined = fused.utils.geo_join(left.data, right.data)
    df_cnt = df_joined.groupby(['fused_index','GEOID']).size().to_frame('count_building').reset_index()
    return df_cnt

# Instantiate job configuration that runs the data against the UDF
job = census_buildings_join(census, buildings)

# Run locally
job.run_local()

# Run on remote compute managed by Fused and view logs
job_id = job.run_remote(output_table='s3://my-s3-bucket/census_buildings_join')
job_id.tail_logs()

# Export job to local directory
job.export('census_buildings_join', overwrite=True)

# Re-import job
fused.experimental.load_job('census_buildings_join')
```

## Changelog
See the [changelog](https://docs.fused.io/fused_py/changelog/) for the latest changes.

