Skip to main content

The official Felt API client library

Project description

The official Python client for the Felt API

PyPI Binder open_in_colab

felt-python is a Python client for the Felt API. It provides convenient wrappers for common operations like creating, deleting and updating maps and data layers.

This client is especially useful at simplifying certain operations like uploading and refreshing files and (Geo)DataFrames or updating layer styles and element properties.

Installation

pip install felt-python

Basic Usage

Authentication

To authenticate with the Felt API, you need to provide your API token. You can either pass it explicitly to function calls or set it in the FELT_API_TOKEN environment variable. Use the Felt dashboard to create a new token.

import os

os.environ["FELT_API_TOKEN"] = "YOUR_API_TOKEN"

Create a map

from felt_python import create_map

response = create_map(
    title="My new map",
    lat=40,
    lon=-3,
    public_access="private",
)
map_id = response["id"]

Upload anything

from felt_python import upload_file

upload = upload_file(
    map_id=map_id,
    file_name="path/to/file.csv",
    layer_name="My new layer",
)
layer_id = upload["layer_id"]

Uploading a Pandas DataFrame

import pandas as pd
from felt_python import upload_dataframe

df = pd.read_csv("path/to/file.csv")
upload_dataframe(
    map_id=map_id,
    dataframe=df,
    layer_name="Felt <3 Pandas",
)

Uploading a GeoPandas GeoDataFrame

import geopandas as gpd
from felt_python import upload_geodataframe

gdf = gpd.read_file("path/to/file.shp")
upload_geodataframe(
    map_id=map_id,
    geodataframe=gdf,
    layer_name="Felt <3 GeoPandas",
)

Refreshing a layer

from felt_python import refresh_file_layer

refresh_file_layer(
    map_id=map_id,
    layer_id=layer_id,
    file_path="path/to/new_file.csv",
)

Styling a layer

from felt_python import get_layer, update_layer_style

current_style = get_layer(
    map_id=map_id,
    layer_id=layer_id,
)["style"]
new_style = current_style.copy()
new_style["color"] = "#FF0000"
new_style["size"] = 20
update_layer_style(
    map_id=map_id,
    layer_id=layer_id,
    style=new_style,
)

Notebooks

Check out our Juypter notebooks for a complete set of examples.

Documentation

Visit the API Reference section of our Developer docs for complete documentation of all endpoints in the REST API.

Support

We are always eager to hear from you. Reach out to support@felt.com for all your Felt support needs.

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

felt_python-0.1.2.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

felt_python-0.1.2-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file felt_python-0.1.2.tar.gz.

File metadata

  • Download URL: felt_python-0.1.2.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for felt_python-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fff254b93c3c4395699e4562b65f6bde4d0fe68579ed1d78b4d0d18267ef7879
MD5 2c30ae4227dfc34a80ab570377f7247e
BLAKE2b-256 93f4ae5c23bfb264504d84ed5f9497d3dcd883730290c8cbe665aa7f44a132b3

See more details on using hashes here.

File details

Details for the file felt_python-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: felt_python-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for felt_python-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7ee8cd3c36d7a0748ced8a67b2480329b3c2468edf8244ab0e2402a6bbc24abf
MD5 cb2252aa7bda4dbe31b1f622f7c9da3d
BLAKE2b-256 f52b4a44df02e03a9dbfe3666df8c7440bddb30c98f1ae90a18bb8a0feb5348d

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