semvec/pypi-packages huggingface dataset:
owoify-py 2.1.0
Turning your worst nightmare into a Python package.
Requires Python: >=3.10

# owoify-py
Turning your worst nightmare into a Python package.

[![Python package](https://github.com/deadshot465/owoify-py/actions/workflows/python-package.yml/badge.svg)](https://github.com/deadshot465/owoify-py/actions/workflows/python-package.yml)
[![Upload Python Package](https://github.com/deadshot465/owoify-py/actions/workflows/python-publish.yml/badge.svg)](https://github.com/deadshot465/owoify-py/actions/workflows/python-publish.yml)

- [Python package](https://pypi.org/project/owoify-py/)

This is a Python port of [mohan-cao's owoify-js](https://github.com/mohan-cao/owoify-js), which will help you turn any string into nonsensical babyspeak similar to LeafySweet's infamous Chrome extension.

Just like my other Owoify ports, three levels of owoness are available:
1. **owo (default)**: The most vanilla one.
2. **uwu**: The moderate one.
3. **uvu**: Litewawwy unweadabwal.

Please refer to the original [owoify-js repository](https://github.com/mohan-cao/owoify-js) for more information.

Seriously, if you have seen my other ports, you probably have already known the details.

## Reason for development
PyPI does already have several owoify packages, but just like owoify packages on Crates.io, they don't provide different leves of owoness. And recently I need to make a Discord bot in Python as well, so here is your owoifer in Python.

## Install instructions
Create a virtual environment for your project, and run this following command after activating the virtual environment:
```bash
pip install owoify-py
```

## Usage
owoify.py is implemented as a simple function. That means you only need to import the function and call it inside your code. The difference is that this time the owoness is specified with strings, i.e. **owo**, **uwu**, and **uvu**.
```python
if __name__ == '__main__':
    print(owoify('This is the string to owo! Kinda cute isn\'t it?'))
    print(owoify('This is the string to owo! Kinda cute isn\'t it?', Owoness.Uvu))

# Output:
# This is teh stwing two owo! Kinda cute isn't it?
# fwis is teh stwing twowo owowowo ʕ￫ᴥ￩ʔ Kinda cute isn't it?
```
## Disclaimer
As usual, I'm writing this package for both practicing and bots' needs. **Performance** is NOT guaranteed.

## See also
- [owoify-js](https://github.com/mohan-cao/owoify-js) - The original owoify-js repository.
- [owoify](https://pypi.org/project/owoify/) - The existing owoify package on PyPI.
- [Owoify.Net](https://www.nuget.org/packages/Owoify.Net/1.1.0) - The C# port of Owoify written by me.
- [Owoify++](https://github.com/deadshot465/OwoifyCpp) - The C++ header-only port of Owoify written by me.
- [owoify_rs](https://crates.io/crates/owoify_rs) - The Rust port of Owoify written by me.
feltpy 0.0.4
A package for interacting with the API of Felt.com
Requires Python: >=3.7

## FeltPy

_feltpy_ is a lightweight Python package to interact with the [public API](https://feltmaps.notion.site/Felt-Public-API-reference-c01e0e6b0d954a678c608131b894e8e1#bfdcdfabab0b4d9ba4e0b6fbcf04ce04) of [Felt.com](www.felt.com). 

### Installation

This package is available in PyPI, and can be installed like so:
```bash
pip install feltpy
```

Once installed, import the package with
```python
import feltpy
```

This package only requires a few packages, most of which come with a default installation of Python, namely:
- re
- os
- [requests](https://github.com/psf/requests)
- [geopandas](https://github.com/geopandas/geopandas)

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](https://feltmaps.notion.site/Felt-Public-API-reference-c01e0e6b0d954a678c608131b894e8e1#065791134e0c4d82b156d97db3f663a5).

### 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.