semvec/pypi-packages huggingface dataset:
GeoJikuu 0.27.55
GeoJikuu is a Python library for analysing geographical data that contains both spatial and spatiotemporal variables.
Requires Python: >=3.8


### Overview
GeoJikuu is an open-source Python library designed for geospatial analysis. Although it works in any Python environment, it is particularly suited for use with Pandas DataFrames in Jupyter Notebooks. The current version of GeoJikuu is considered alpha, with GeoJikuu v1.0 set for release later in 2024. Despite being an alpha version, it already offers functionalities for calculating spatial and spatiotemporal descriptive statistics, performing spatial and spatiotemporal aggregation, and conducting spatial and spatiotemporal hypothesis testing. Preliminary documentation is available at [geojikuu.com/docs](geojikuu.com/docs).

### Installation
GeoJikuu can be installed via: 
```python
pip install geojikuu
```

### Usage Example
Projecting coordinates to Cartesian form and running Global Moran's I:
```python
from geojikuu.hypothesis_testing.autocorrelation import GlobalMoranI
from geojikuu.preprocessing.projection import CartesianProjector

cartesian_projector = CartesianProjector("wgs84")

data = {
    "lat": [34.6870676, 34.696109, 34.6525807, 35.7146509, 35.6653623, 35.6856905, 
            33.5597115, 33.5716997, 33.5244701, 33.5153417, 33.5206116, 33.4866878],
    "lon": [135.5237618, 135.5121774, 135.5059984, 139.7963897, 139.7254906, 139.7514867,
            130.3818748, 130.4030704, 130.4063441, 130.4373212, 130.4841434, 130.5220605],
    "value": [2, 3, 1, 4, 4, 2, 5, 6, 5, 7, 8, 8]
}

df = pd.DataFrame.from_dict(data)

results = cartesian_projector.project(list(zip(df["lat"], df["lon"])))
df["cartesian_coordinates"] = results["cartesian_coordinates"]
unit_conversion = results["unit_conversion"]

global_moran_i = GlobalMoranI(data=df, coordinate_label="cartesian")
global_moran_i.run(input_field="value", critical_distance=10/unit_conversion)
```

### Future Updates
The following additions and improvements can be expected in GeoJikuu v1.0:
 - In-built visualisation
 - Optimised algorithms for efficient operations on large datasets
 - Many additional modules for performing various types of spatial, temporal, and spatiotemporal analyses
 - Improved packaging and module designs that are more suitable for representing and working with spatial structures
 - Improved documentation and the introduction of a blog and newsletter

### Contact
If you are interested in the project and have any questions or implementation requests, please direct your correspondence to admin@gaiaabstract.com.
Feedback from academic and professional researchers is particularly welcome.
h2o-drive 4.1.0
H2O Drive Python Client
Requires Python: <4.0,>=3.8

# h2o-drive

Python Client for H2O Drive.

## Installation

```sh
pip install h2o-drive
```

## Usage

### Connecting to H2O Drive

```py
import h2o_drive

drive = h2o_drive.connect()
```

When used within the [H2O AI Cloud](https://h2o.ai/platform/ai-cloud/) environment or locally with the [H2O AI Cloud CLI](https://docs.h2o.ai/h2o-ai-cloud/developerguide/cli) configured, no further configuration is needed.

`h2o_drive.connect()` can be configured via optional parameters:

- `discovery`: The h2o_discovery.Discovery object through which to discover services for determining connection details
- `userdrive_url`: URL to Drive's userdrive service.
- `workspace_url`: URL to Drive's workspacedrive service.
- `sts_url`: URL to the STS service.
- `token_provider`: A token provider generating authentication credentials.

### Object Operations

To perform object operations, first open any Drive bucket. For example:

```py
bucket = drive.user_bucket()
# or
bucket = drive.workspace_bucket("default")
```

Buckets have the following methods:

- `upload_file()` uploads a local file, resulting in a new object at the specified key in the bucket. It takes two arguments:
    - `filename`: The file to upload. The contents of this file will become an object in the Drive bucket.
    - `key`: The key at which to store the resulting object. In other words, the name attached to the object.

- `list_objects()` returns the list of objects in the bucket. It takes one optional argument:
    - `prefix`: When specified, only objects at keys starting with the specified value are listed.

- `download_file()` downloads the object at the specified key and writes it to the specified local file. It takes two arguments:
    - `key`: The key of the object to download.
    - `filename`: The file, on the local filesystem, the object is written to.

- `delete_object()` deletes the object at the specified key. It takes a single argument:
  - `key`: The key of the object to delete.

- `generate_presigned_url()` generates a presigned URL for accessing the object at the specified key in the bucket. It takes two arguments:
  - `key`: The key to generate a presigned URL for.
  - `duration_seconds`: (Optional) The duration, in seconds, for which the URL should be valid. Defaults to 1 day.
- `with_prefix()` returns a prefixed view of this bucket. All the keys in each of its object operations are automatically prefixed with the specified value. It takes a single argument:
  - `prefix`: The key prefix to automatically apply to all object operations. 

## Examples

### Example: Open the storage bucket for your personal H2O workspace, write a local file, and list its contents

```py
import h2o_drive

# Prepare a local test file.
with open("test-file.txt", "w") as f:
    f.write("Hello, world!")

drive = h2o_drive.connect()
bucket = drive.workspace_bucket("default")

await bucket.upload_file("test-file.txt", "drive-test/uploaded-test-object.txt")

objects = await bucket.list_objects()
print(objects)
```
pywsgiapp 0.0.5
Bring Your Code to the Web with Ease using a Lightweight WSGI Application.
Requires Python: >=3.12

# pyWSGIapp

`pywsgiapp`  is a lightweight WSGI application framework aimed at simplifying the development of WSGI-based web applications. It offers an intuitive interface for managing HTTP requests and responses, enabling easy creation and deployment of web applications.

---

## Features

- Lightweight and easy-to-use WSGI framework.
- Customizable request handler for processing HTTP requests.
- Compatible with WSGI servers like `gunicorn`.

---

## Installation

To install the package, use the following command:

```bash
pip install pywsgiapp
```


---

## Usage

### Example: Basic WSGI Application

Here’s an example of how to use `pywsgiapp` to create a simple WSGI application:

```python
from pywsgiapp.WSGIApp import createWSGIApp

# Define a request handler function
def requestHandler(url: str, requestHeaders: dict, postData: dict) -> dict:
    response_body = f"Received URL: {url}, Headers: {requestHeaders}, Post Data: {postData}"
    return {
        "responseCode": 200,
        "responseHeaders": {"Content-Type": "text/plain"},
        "responseBody": response_body
    }

# Create the WSGI application
app = createWSGIApp(requestHandler)
```

Save this code in a file (e.g., `basic.py`) and run it with a WSGI server like `gunicorn`:

```bash
gunicorn basic:app
```

For more examples, see the [Examples Documentation](./pywsgiapp/examples/examples.md).

---

- **`pywsgiapp/`**: The main package containing the framework code.
- **`examples/`**: Example scripts demonstrating how to use the framework.
- **`setup.py`**: Metadata and installation configuration.
- **`requirements.txt`**: List of dependencies for development and deployment.

---


## Development

If you want to contribute or modify the framework, follow these steps:

1. Clone the repository:
   ```bash
   git clone https://github.com/jaythorat/pywsgiapp.git
   cd pywsgiapp
   ```

2. Install the package in editable mode:
   ```bash
   pip install -e .
   ```

---

## Dependencies

The framework requires the following dependencies:
- `gunicorn>=20.1.0`

Install them using:
```bash
pip install -r requirements.txt
```

---

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

---

## Contributing

Contributions are welcome! If you’d like to contribute, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Commit your changes and push the branch.
4. Open a pull request.

---

## Contact

For any questions or issues, feel free to contact the author:

- **Author**: Jay Thorat
- **Email**: dev.jaythorat@gmail.com
- **GitHub**: [jaythorat](https://github.com/jaythorat)
- **Portfolio**: [portfolio.jaythorat.in](portfolio.jaythorat.in)