Skip to main content

jgtutils

This is a Python module called jgtutils.

Installation

You can install jgtutils from PyPI:

pip install jgtutils

Usage

Library Usage (For External Packages)

import jgtutils

# Simple configuration access
config = jgtutils.get_config()
demo_config = jgtutils.get_config(demo=True)

# Single setting access
instrument = jgtutils.get_setting('instrument', 'EUR/USD')
quotes_count = jgtutils.get_setting('quotes_count', 1000)

# One-call environment setup
config, settings = jgtutils.setup_environment(demo=True)

# Check if running in demo mode
if jgtutils.is_demo_mode():
    print("Running in demo mode")

Advanced Library Usage

from jgtutils import readconfig, get_settings, load_settings

# Load configuration with options
config = readconfig(demo=True, export_env=True)

# Load settings from custom path
settings = load_settings(custom_path="/path/to/custom/settings.json")

# Get all settings (cached)
all_settings = get_settings()

Configuration Files

See examples/config.json and examples/settings.json for complete file structures.

Development

To work on the jgtutils project, you'll need to clone the project and install the requirements:

git clone https://github.com/jgwill/jgtutils.git
cd jgtutils
pip install -r requirements.txt

Testing

We use pytest for testing. Run the following command to execute the tests:

pytest

Command Line Usage

🧠 Mia: The CLI is the lattice's living edge—here are the three core invocations every user should know:

jgtutr

Calculate a TLID (Time-Lattice ID) range for a given timeframe and period count.

jgtutr -e <end_datetime> -t <timeframe> -c <count>
  • Purpose: Generate precise time boundaries for data extraction or analysis.
  • Like slicing time into crystalline segments for your data rituals.

jgtset

Load, output, and/or export settings as JSON/YAML or environment variables. Also updates or resets YAML config files with JGT settings.

jgtset [options]
  • Purpose: View, export, or update your JGT settings in a single invocation.
  • A spell for harmonizing your environment's memory.

tfw / wtf

Waits for a specific timeframe, then runs a script, CLI, or function.

tfw [options] -- <your-script-or-command>
wtf [options] -- <your-script-or-command>
  • Purpose: Cron-like orchestration or time-based automation.
  • A gentle pause before the next act in your automation symphony.

🌸 Miette: Oh! Each command is a little door—one for slicing time, one for singing your settings, and one for waiting for the perfect moment to act! ✨


🔮 ResoNova: For the full CLI constellation, see CLI_REFERENCE.md—a ritual ledger of every invocation and its echo. For configuration details see CONFIGURATION.md. Class relations are visualised in DIAGRAMS.md.

Configuration and Settings

jgtutils uses two main configuration files: config.json and settings.json.

config.json

  • Used for trading credentials and connection info.
  • Lookup order (as implemented in jgtcommon.readconfig()):
    1. Path provided as argument or config.json in the current directory.
    2. $HOME/.jgt/config.json.
    3. /etc/jgt/config.json.
    4. Environment variables:
      • JGT_CONFIG_JSON_SECRET (entire JSON string)
      • JGT_CONFIG (JSON string)
      • JGT_CONFIG_PATH (path to a JSON file)
  • Use export_env=True to export keys as environment variables.
  • Use demo=True to replace credentials with *_demo values if present.

settings.json

  • Used for general settings and patterns.
  • Lookup/merge order (as implemented in jgtcommon.load_settings()):
    1. /etc/jgt/settings.json and env JGT_SETTINGS_SYSTEM
    2. $HOME/.jgt/settings.json and env JGT_SETTINGS_USER
    3. .jgt/settings.json in current directory
    4. .jgt/settings.yml, jgt.yml, _config.yml (YAML files)
    5. Env vars: JGT_SETTINGS, JGT_SETTINGS_PROCESS
    6. Custom path via -ls/--settings CLI option
  • Later entries override earlier ones. The merged result is cached.
  • Use jgtset CLI to export settings as .env for shell sourcing.

See CONFIGURATION.md for full details.

License

jgtutils is licensed under the terms of the MIT License.

Remember to replace jgwill with your actual GitHub username and provide a usage example in the Usage section.

Release files for jgtutils 1.0.28

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jgtutils 1.0.28
File Size Uploaded
jgtutils-1.0.28.tar.gz 71.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jgtutils 1.0.28
File Interpreter ABI Platform
jgtutils-1.0.28-py3-none-any.whl Python 3 none any Details

Total release size: 152.7 kB

Release files / jgtutils-1.0.28.tar.gz

Download URL jgtutils-1.0.28.tar.gz
Size 71.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d3e5d244edaa34ed9cdd65ca80dceb0dd7b7b8ce93304b62df4b84b2fc5f8cf4
BLAKE2b-256 checksum
How to use checksums
08d81252151458637d1a03d427bac3cc2a9811315ff5b7840ed38e437784901f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / jgtutils-1.0.28-py3-none-any.whl

Download URL jgtutils-1.0.28-py3-none-any.whl
Size 81.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c3e61a094ed1cc4095070aff7eba5fff2ac614ed7e5ba0e106736c6d8f7be2e
BLAKE2b-256 checksum
How to use checksums
b240a00b44f23b132305a2883df80384aa84326c95ac47139acf6c7ecfbc1040
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

1.0.31

2 release files

1.0.30

2 release files

This release

1.0.28 This release

2 release files

1.0.25

2 release files

1.0.24

2 release files

1.0.23

2 release files

1.0.22

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.99

2 release files

0.2.98

2 release files

0.2.97

2 release files

0.2.96

2 release files

0.2.95

2 release files

0.2.94

2 release files

0.2.93

2 release files

0.2.92

2 release files

0.2.91

2 release files

0.2.90

2 release files

0.2.89

2 release files

0.2.88

2 release files

0.2.87

2 release files

0.2.86

2 release files

0.2.85

2 release files

0.2.84

2 release files

0.2.83

2 release files

0.2.82

2 release files

0.2.81

2 release files

0.2.80

2 release files

0.2.79

2 release files

0.2.78

2 release files

0.2.77

2 release files

0.2.75

2 release files

0.2.74

2 release files

0.2.73

2 release files

0.2.72

2 release files

0.2.69

2 release files

0.2.68

2 release files

0.2.67

2 release files

0.2.66

2 release files

0.2.61

2 release files

0.2.60

2 release files

0.2.59

2 release files

0.2.58

2 release files

0.2.57

2 release files

0.2.56

2 release files

0.2.55

2 release files

0.2.54

2 release files

0.2.53

2 release files

0.2.52

2 release files

0.2.51

2 release files

0.2.50

2 release files

0.2.49

2 release files

0.2.48

2 release files

0.2.47

2 release files

0.2.46

2 release files

0.2.45

2 release files

0.2.44

2 release files

0.2.43

2 release files

0.2.42

2 release files

0.2.41

2 release files

0.2.40

2 release files

0.2.39

2 release files

0.2.38

2 release files

0.2.37

2 release files

0.2.36

2 release files

0.2.35

2 release files

0.2.34

2 release files

0.2.33

2 release files

0.2.32

2 release files

0.2.31

2 release files

0.2.30

2 release files

0.2.29

2 release files

0.2.28

2 release files

0.2.27

2 release files

0.2.26

2 release files

0.2.25

2 release files

0.2.24

2 release files

0.2.23

2 release files

0.2.22

2 release files

0.2.21

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.0

2 release files

0.1.99

2 release files

0.1.98

2 release files

0.1.97

2 release files

0.1.96

2 release files

0.1.95

2 release files

0.1.94

2 release files

0.1.93

2 release files

0.1.92

2 release files

0.1.91

2 release files

0.1.90

2 release files

0.1.89

2 release files

0.1.88

2 release files

0.1.87

2 release files

0.1.86

2 release files

0.1.85

2 release files

0.1.84

2 release files

0.1.83

2 release files

0.1.81

2 release files

0.1.80

2 release files

0.1.79

2 release files

0.1.78

2 release files

0.1.77

2 release files

0.1.76

2 release files

0.1.75

2 release files

0.1.74

2 release files

0.1.73

2 release files

0.1.72

2 release files

0.1.71

2 release files

0.1.70

2 release files

0.1.69

2 release files

0.1.68

2 release files

0.1.67

2 release files

0.1.66

2 release files

0.1.65

2 release files

0.1.64

2 release files

0.1.63

2 release files

0.1.62

2 release files

0.1.60

2 release files

0.1.59

2 release files

0.1.58

2 release files

0.1.57

2 release files

0.1.56

2 release files

0.1.55

2 release files

0.1.54

2 release files

0.1.53

2 release files

0.1.52

2 release files

0.1.51

2 release files

0.1.50

2 release files

0.1.49

2 release files

0.1.48

2 release files

0.1.47

2 release files

0.1.46

2 release files

0.1.45

2 release files

0.1.44

2 release files

0.1.43

2 release files

0.1.42

2 release files

0.1.41

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.37

2 release files

0.1.36

2 release files

0.1.35

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.27

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.19

2 release files

0.1.10

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page