Skip to main content

SAT Utilities

This repository contains a collection of shared utility functions.

  • Slack: A class to upload files to our Slack workspace
  • SATLogger: A standard logger for SAT projects

Installation

# Install the package from private PyPI (CLI)
$ pip install sat-utils

Usage

Slack

from sat.slack import Slack

message = Slack(token="abc123-8dkhnna-97hasdj-xyz")
message.upload_file(channel="support", file_path="C:/files", file_name="support.pdf", file_type="", title="Support manual v3.2", initial_comment="Woot!")

SATLogger

from sat.logs import SATLogger
logger = SATLogger(__name__)

...
logger.info("Hello, world!")

Gravity Forms

Three environment variables are required to authenticate with the Gravity Forms API.

  • GRAVITY_FORMS_CONSUMER_KEY
  • GRAVITY_FORMS_CONSUMER_SECRET
  • GRAVITY_FORMS_BASE_URL

Alternatively, these values can be passed into the GravityForms initialization as parameters.

from sat.gravity_forms import GravityForms


gravity = GravityForms()
cards_requested = gravity.get("/forms/3/entries")

Development

Setup

Ensure you are in a virtual environment with Python 3.9.6 or higher.

> make setup

Add dependencies

Updating Requirements

This project uses pip-tools to manage requirements. To update the requirements add your requirement to the pyproject.toml file.

For dependencies required to run the app in production, add them to the pyproject.toml file under the [project] section.

[project]
...
dependencies = [
    "fastapi>=0.95.1, <1.0.0",
    "pyjwt>=2.6.0, <3.0.0",
    "...",
    "<YOUR NEW REQUIREMENT HERE>",
    "...",
]

For developer dependencies required or nice to have for development, add them to the pyproject.toml file under the [project.optional-dependencies] section.

[project.optional-dependencies]
dev = [
    "pytest>=6.2.5, <7.0.0",
    "...",
    "<YOUR NEW DEV REQUIREMENT HERE>",
    "...",
]

When you have add the dependency run:

> make update-requirements

Build and Publish

Update the version in pyproject.toml before building.

Build

> flit build

Publish

As long as your PyPI credentials are set up correctly, you can publish to PyPI with the following command:

> flit publish

Metadata

Release files for sat-utils 1.7.6

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

Source distribution (sdist)

Source distribution for sat-utils 1.7.6
File Size Uploaded
sat_utils-1.7.6.tar.gz 25.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sat-utils 1.7.6
File Interpreter ABI Platform
sat_utils-1.7.6-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / sat_utils-1.7.6.tar.gz

Download URL sat_utils-1.7.6.tar.gz
Size 25.3 kB
Tags Source
SHA-256 checksum
How to use checksums
25a8a5a67c4fe4330e1e062cd6c0ecd631bd8d942b5142f2137cdefb13126ea4
BLAKE2b-256 checksum
How to use checksums
66f9e3bd1361769780ab65b6ca3a0d01b4f60afae351c76571f94897c1889f45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release files / sat_utils-1.7.6-py3-none-any.whl

Download URL sat_utils-1.7.6-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c59c795caffc1e3311b2c1843ea5addf7a28d2dcb8510a565507d645821b7ef8
BLAKE2b-256 checksum
How to use checksums
4af0249622857769a0e9c86585012950c7657e20df5f0c73cab6a951f4f06e96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release history Release notifications | RSS feed

This release

1.7.6 This release

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.2.1

2 release files

1.1.13

2 release files

1.1.10

2 release files

1.1.8

2 release files

1.1.4

2 release files

1.1.3

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