PostgreSQL utilities
Project description
nova-pg
nova-pg is a Python package designed to simplify and streamline interactions with PostgreSQL databases.
It provides a set of helper functions that make it easier to connect, query, and manage data in a scalable and reusable way.
The main goal of this project is to accelerate development, enable scalability, and offer a portable package that can be easily integrated wherever database access is required.
📦 Installation (PyPI Package)
You can install Nova PG directly from PyPI using pip:
pip install nova-pg
Or, if you want to test the latest version from TestPyPI, use:
pip install -i https://test.pypi.org/simple --extra-index-url https://pypi.org/simple nova-pg
🧩 Repository Structure
This repository includes:
- Example configuration files for environment setup.
- A dedicated test folder to validate the functionality of the helper functions.
- A Docker-based development environment for consistent and isolated builds.
🧰 Development Environment (DevContainer + Docker)
Follow these steps to set up your local development environment:
-
Clone the repository:
git clone https://github.com/santarsierilorenzo/nova-pg.git
-
Copy the example dev container configuration file:
cp .devcontainer/devcontainer.json.example .devcontainer/devcontainer.json
-
Open VS Code and rebuild the container without cache:
Ctrl + Shift + P → Rebuild Container Without Cache and Reopen in Container
-
Once the Docker container is running, you’ll have access to all required dependencies and tools pre-installed.
🐘 Get Started
-
Copy
db_config.json.example, rename it todb_config.json, and fill it with your database credentials. -
Import the package:
import nova_pg
- Load your database credentials from
db_config.json:
db_cred = nova_pg.config.load_db_config(
config_file_path="path_to_your_json",
env_name="dev"
)
- Build your connection string:
url_db = nova_pg.config.build_connection_string(
db_cred_dict=db_cred
)
- Use functions in the
utilsmodule:
QUERY = """
SELECT *
FROM prices.nq_1_min
"""
with nova_pg.utils.get_cursor(url_db) as cur:
cols, data = nova_pg.utils.fetch_in_chunks(
cur=cur,
query=QUERY,
table_name="nq_1_min",
batch_size=10000
)
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 nova_pg-0.2.6.tar.gz.
File metadata
- Download URL: nova_pg-0.2.6.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
413b8ea7170aeb506b5543b099f4902d18ea07a0635a0b46c3e4b817559221fc
|
|
| MD5 |
9bb0643d563ccf0e6c24faea9f74a57a
|
|
| BLAKE2b-256 |
a6304e70ecbf2a2d3d7df141acd20d1ac421f21b371ced2ae791c680c267f2c0
|
File details
Details for the file nova_pg-0.2.6-py3-none-any.whl.
File metadata
- Download URL: nova_pg-0.2.6-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ccd4df4c30fa595f7f3ba25ef49f94a24c38da24c7b6615e00eeffd0d57240c
|
|
| MD5 |
f0a71253fd5a28cbd5d6bb66f74340fa
|
|
| BLAKE2b-256 |
1e2839836fd797066888d795772a50993d1cf631dc9900e9c49a855023343953
|