A SQL query builder API for Python
Project description
NeoPika - Python Query Builder
Important Note
NeoPika is a fork of PyPika, created to maintain and advance the project as the original repository has become unmaintained. While we maintain full compatibility with PyPika's core functionality, we are actively developing new features, fixing bugs, and improving the codebase. All modifications are made under the same Apache 2.0 license as the original project.
If you're coming from PyPika, you'll find all the functionality you're familiar with, plus additional improvements and modern tooling support (like uv for dependency management and mkdocs for documentation).
Abstract
What is NeoPika?
NeoPika is a Python API for building SQL queries. The motivation behind NeoPika is to provide a simple interface for building SQL queries without limiting the flexibility of handwritten SQL. Designed with data analysis in mind, NeoPika leverages the builder design pattern to construct queries to avoid messy string formatting and concatenation. It is also easily extended to take full advantage of specific features of SQL database vendors.
What are the design goals for NeoPika?
NeoPika is a fast, expressive and flexible way to replace handwritten SQL (or even ORM for the courageous souls amongst you). Validation of SQL correctness is not an explicit goal of NeoPika. With such a large number of SQL database vendors providing a robust validation of input data is difficult. Instead you are encouraged to check inputs you provide to NeoPika or appropriately handle errors raised from your SQL database - just as you would have if you were writing SQL yourself.
Installation
NeoPika supports Python 3.6+. It may also work on pypy, cython, and jython, but is not being tested for these versions.
To install NeoPika run the following command:
pip install neopika
Tutorial
The main classes in neopika are neopika.Query, neopika.Table, and neopika.Field.
from neopika import Query, Table, Field
For the complete tutorial and documentation, please visit our documentation site.
Contributing
We welcome community contributions to NeoPika. Please see our contributing guide for more info.
License
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file neopika-0.49.0.tar.gz.
File metadata
- Download URL: neopika-0.49.0.tar.gz
- Upload date:
- Size: 147.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.27
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63140fdef7201ce82004f213ed246e3460ae8ff0bbb048e58e52bc97b86ffd20
|
|
| MD5 |
3718cbbc8b67803d770847f8ca3b0532
|
|
| BLAKE2b-256 |
3cff7ccbb97d317cc8d23b178475ff9451bace7895e2b02a8bfd47ee83bbceda
|
File details
Details for the file neopika-0.49.0-py3-none-any.whl.
File metadata
- Download URL: neopika-0.49.0-py3-none-any.whl
- Upload date:
- Size: 109.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.27
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae8b6068548afa198f812b57adbe19c5db5ed67778317299c1d389d6f131fa93
|
|
| MD5 |
83b40a32b6bd73ae1a38b59d476aa07c
|
|
| BLAKE2b-256 |
99cf933975e430c145b2b4b49831be3e4c70c4503b4b90cc5aef051cc156b349
|