Skip to main content

A package for interacting with the API of Felt.com

Project description

FeltPy

feltpy is a lightweight Python package to interact with the public API of Felt.com.

Installation

This package is available in PyPI, and can be installed like so:

pip install feltpy

Once installed, import the package with

import feltpy

This package only requires a few packages, most of which come with a default installation of Python, namely:

I've only tested this on Python 3.10, but it will presumably work with older version of Python 3!

Set-Up

All functions in this package are only set up, currently, to work with Felt's Personal Access Tokens, which must be acquired ahead of time. More information on doing so can be found on Felt's API documentation.

Features

As of 2023-07-28, this package can use the API to:

  • Create a new map
  • Upload data as a layer to a map, either from a file, a URL, or a Geopandas GeoDataFrame
  • Query the current layers, elements, and comments on a map
  • Update layer descriptions
  • Delete layers and maps

This package works through a collection of functions and classes.

  • functions, with names such as getLayers() and deleteMap(), perform actions, such as those listed above
  • classes can be thought of as objects, each one representing something that currently exists on Felt, such as a Map, a Layer, a Layer Collection (i.e. all the layers on a map), and Datasets (i.e. what data "powers" a layer - not so useful at the moment)
    • Map and Layer also have methods within them that allow for easier calling of functions - for example, a layer could be deleted by either calling the function deleteLayer(), or by calling Layer.deleteLayer()

Future Work

As of 2023-07-28, this package does not interact with any API functions that deal with the Felt Style Language. This is out of practicality: the API documentation states that these endpoints might change in the future, and I would rather wait for it to be finalized before devoting time to figuring it out

This package could also be extended to be more "helpful" - for instance, confirming that a layer or map is deleted, or enabling more complex functinos, such as creating a new map and loading data to it

Finally, this package is only set up to work with Felt's Personal Access Tokens - I hope at some point to also integrate with OAuth

Contribution

I welcome comments and pull requests! This is my first Python package, so it is definitely not consistent or pretty or easy to understand - if you have capital-O Opinions on how you'd like to see this change, feel free to let me know here in Github.

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

feltpy-0.0.4.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

feltpy-0.0.4-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file feltpy-0.0.4.tar.gz.

File metadata

  • Download URL: feltpy-0.0.4.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.5

File hashes

Hashes for feltpy-0.0.4.tar.gz
Algorithm Hash digest
SHA256 6e65d7bdff669f2cca0dc298a1b054486f99bdf1ad13bdeaf1a5b62eb1538b4a
MD5 bc20c602a684dfeb79ceb82d03715b10
BLAKE2b-256 9dd0a46a3753c177d8112790e91f76c705d3f195a0c4bc9b0769bd1fa12f95b8

See more details on using hashes here.

File details

Details for the file feltpy-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: feltpy-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.5

File hashes

Hashes for feltpy-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 aa9ef0adbed1392a6d50fcbe7b6f90ef79f78af638a4e35df407ebdc283d28ff
MD5 3a7b1bb01ddcd55ff19f7c003b00d034
BLAKE2b-256 4ccd6ce8de0e12d8571a12465022e995112ca6c84e7e09569b374b8d5a4368e2

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