semvec/pypi-packages huggingface dataset:
getbuildings 0.1.1
A tool for downloading and processing building footprints using bounding box data.
Requires Python: >=3.6

# Download Building

**Download Building** is a Python package for downloading and processing building footprint data within a specified bounding box or area of interest (AOI). It leverages global datasets and outputs geospatial data files for further analysis.

## Features

- Process building footprints from a bounding box or shapefile.
- Automatically download and filter building data using `mercantile` and `shapely`.
- Save output as a GeoJSON file for GIS workflows.

## Installation

You can install the package using `pip`:

```bash
pip install getbuildings
```

## Usage

### Command-Line Interface (CLI)

You can use the package from the command line by providing either a shapefile (`.shp`) or bounding box coordinates.

```bash
python -m getbuildings \
  --shp /path/to/aoi.shp \
  --output /path/to/output.geojson
```

Or, use bounding box coordinates:

```bash
python -m getbuildings \
  --minx <min_x> --miny <min_y> \
  --maxx <max_x> --maxy <max_y> \
  --output /path/to/output.geojson
```

### Parameters

- `--shp`: Path to the input shapefile defining the AOI (optional).
- `--minx`, `--miny`, `--maxx`, `--maxy`: Bounding box coordinates (required if `--shp` is not provided).
- `--output`: Path to save the output GeoJSON file (required).

### Example

To process a bounding box:

```bash
python -m getbuildings \
  --minx -123.5 --miny 45.0 \
  --maxx -122.5 --maxy 46.0 \
  --output output.geojson
```

## Development

### Clone the Repository

To work on the project locally:

```bash
git clone https://github.com/arazshah/get_buildings.git
cd getbuildings
```

### Install Dependencies

Install the required Python packages:

```bash
pip install -r requirements.txt
```

### Run Locally

Run the script using sample inputs:

```bash
python main.py --minx -123.5 --miny 45.0 --maxx -122.5 --maxy 46.0 --output output.geojson
```

## Contributing

Contributions are welcome! Please follow these steps:

1. Fork the repository.
2. Create a feature branch (`git checkout -b feature-name`).
3. Commit your changes (`git commit -m "Add feature"`).
4. Push to the branch (`git push origin feature-name`).
5. Open a pull request.

## License

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

## Acknowledgments

- [mercantile](https://github.com/mapbox/mercantile) for tile processing.
- [Shapely](https://shapely.readthedocs.io) for geometry operations.
- [GeoPandas](https://geopandas.org) for geospatial data handling.
gomailer 1.0.3
The Go-Mailer Utility library
Requires Python: >=3.6

## **The Go-Mailer Python utility Package**
<hr>
The Python API utility library for the Go-Mailer marketing platform.

This package enables API transactions to the Go-Mailer servers for faster and seamless inter-application communications. It enables you to:
* Synchronize your contact data with Go-Mailer.
* Notify Go-Mailer of any events that occur on your application.
* Send out transactional emails through Go-Mailer.



### **Installation**
<hr>

The API client can be installed using PIP.

```
pip install gomailer
```

### **Basic Usage**
<hr>

#### **Synchronize contacts**
You are able seamlessly synchronize your user's data with Go-Mailer. This helper would create a new Go-Mailer contact if none exists with the specified email address OR it will update the Go-Mailer contact with the necessary data if a Go-Mailer contact exists with the specified email.

**NOTE:**
* Go-Mailer contacts are uniquely identified by their email address in order to avoid duplicate communications.
* You can store any custom attribute.  
```
  import gomailer
  
  data = {
    'firstname': 'John',
    'lastname': 'Doe,
    'last_login': '12-12-2024T12:12:12:0000Z',
    // other attributes
  }
  
  client = Client('YOUR_API_KEY')
  response = client.contacts().synchronize(<email_address>, data)
  
  if (response['status_code'] === 200) {
    // handle success
  }
 
```
You can find more information [here](https://go-mailer.com/developers/reference/contacts)


#### **Send a transactional email**
Quickly and reliably send transactional emails to your users using Go-Mailer. This helper would send a transactional email to the specified recipient.

**NOTE:**
* If no Go-Mailer contact exists for the specified email address, a new one will be created.  

```
import gomailer
  
client = Client('YOUR_API_KEY')
response = client.mailing().send_transactional_email(<template_code>, <recipient_email>, <context data>, <html markup>, <attachments>, <bcc email>)

if (response['status_code'] === 200) {
  // handle success
}
```
You can find more information [here](https://go-mailer.com/developers/reference/transactionals)



#### **Notify Go-Mailer of an event**
Notify Go-Mailer of an event that has occured on your application. This is useful to react to such events such as sending a transactional email, SMS messages etc. You need to pass the event code, the affected user's email and all other relevent context data around the event occurence.

**NOTE:**
* A new event will be created on your Go-Mailer account the event code does not exist.  

```
import gomailer

client = Client('YOUR_API_KEY')
response = client.automation().trigger_event(<event_code>, <user_email>, <context data>)

if (response['status_code'] === 200) {
  // handle success
}
```
You can find more information [here](https://go-mailer.com/developers/reference/automations)

### **License**
<hr>

MIT license. See the [LICENSE](https://github.com/printu/customerio/blob/master/LICENSE) file for more details.