semvec/pypi-packages huggingface dataset:
SQLParser-pipeline 0.1
The SQL Query Tools Library is a powerful Python package designed for parsing and interpreting complex SQL queries. It was developed with a focus on BigQuery but is adaptable to other SQL dialects due to its flexible parsing strategy that doesn't consider the function itself but the most inner parentheses.
Requires Python: >=3.6

# SQL Query Tools Library

## Overview
The SQL Query Tools Library is a powerful Python package designed for parsing and interpreting complex SQL queries. It was developed with a focus on BigQuery but is adaptable to other SQL dialects due to its flexible parsing strategy that doesn't consider the function itself but the most inner parentheses..
This Parser is specifically tuned to handle intricate query structures that go beyond the capabilities of standard SQL parsers.

### Features
- **Select Clause Parsing**: Handles a wide range of `SELECT` statements, from simple queries to those with nested statements, functions, and placeholders.
- **From Clause Analysis**: Identifies table names and associated aliases in medium complexity SQL queries, suitable for LeetCode-level challenges.
- **Unnest Transformations**: Extracts details from `UNNEST` operations, such as the type of join, aliases, and unique values, which are crucial for building data pipelines.

## Capabilities

### Select Function
The `select` function outperforms typical SQL parsers by accurately parsing column names in queries that include:
- Nested `SELECT` statements
- Functions within columns
- Use of placeholders and complex syntax

### From Function
The `from` function is optimized for medium complexity queries. It can accurately identify table names and their aliases within a query. Future updates aim to extend its capabilities to handle more complex scenarios.

### Unnest Function
The `unnest` function is crucial for understanding complex joins in queries. It returns:
- The type of join used
- The alias of the join, for easy reference in `SELECT` statements
- Unique values of columns involved in the `UNNEST` operation

This function is particularly useful for those developing data pipelines where understanding the flow of data transformation is critical.

## Getting Started

To get started with SQL Query Tools, install the package using pip:

```bash
pip install sql-query-tools
```

## Usage

An example on how to call the functions and use the library is provided on Usage.py , feel free to use it with your queries

## Queries Examples

On Example_Query.SQL a few examples were provided to demostrate how our library perform on gradually more complex queries. In each example we experiment a potential issue that other parser can't deal with.
fabdem 0.1.0
Download FABDEM data: a DEM with forests and buildings removed using ML.

# FABDEM

Download FABDEM data: a DEM with forests and buildings removed using ML.

FABDEM homepage: https://data.bris.ac.uk/data/dataset/s5hqmjcdj8yo2ibzi9b4ew3sn

## Installation

To install the package using *pip*
```shell
pip install fabdem
```

## Usage

Define coordinates bounding the area of interest:
```python
bounds = (1, 30, 5, 35)
```
Call the download function to create a raster:
```python
import fabdem
fabdem.download(bounds, output_path="dem.tif")
```
Supports any raster format supported by GDAL.

## Development

1. Clone this repository
```shell
git clone https://github.com/jantomec/fabdem.git
```

2. Create a new conda environment
```shell
conda create --file fabdem.yml
```
or alternatively update the existing one
```shell
conda env update --file fabdem.yml [--prune]
```
> **_NOTE:_** The `--prune` option causes conda to remove any dependencies that are no longer required from the environment.

3. To install the package locally for development, run:
```shell
flit install --symlink
```
The `--symlink` option tells flit to create a symbolic link to your package directory inside the site-packages directory of your environment instead of copying files. This is useful for development, as changes in your package directory immediately affect the installed package without needing reinstallation.

4. Run this command to upload the code to PyPI:
```shell
flit publish
```

### TODO:
- [ ] Create a conda package.
- [ ] Download only part of a zip.

### Resources:
- [Python Packaging](https://packaging.python.org/en/latest/overview/)
- [TOML Format](https://github.com/toml-lang/toml)
- [flit](https://flit.pypa.io/en/latest/)
- [PEP 8 - Naming Conventions](https://peps.python.org/pep-0008/#naming-conventions)
- [PEP 484 – Type Hints](https://peps.python.org/pep-0484/)
- [conda-forge](https://conda-forge.org/docs/maintainer/adding_pkgs/)