Skip to main content

Unofficial AWS Glue Ray.io packaging tool. Pure python or cross platform.

Reason this release was yanked:

buggy

Project description

raypack

Raypack will create a package for AWS Glue, Ray.io tasks. This automates this documentation page that has some handwavy descriptions of shell commands.

If you are only using included-by-default packages, public packages, pure python packages, binary wheel packages, you don't have to do this.

AWS Glue can't handle anything without a binary wheel or private package repositories, gcc or other build tools are not in Glue runtime images.

So you have build on a machine that matches the AWS runtime OS (Fedora-like), create a virtual directory, and then zip it up and upload it to s3.

Some code generate with ChatGPT (OpenAI)

raypack is not supported by Amazon, AWS, nor Anyscale, Inc the makers of ray.io.

Libraries.io dependency status for latest release Downloads

Installation

You are encouraged to install with pipx so that the CLI tools dependencies do not conflict with your project dependencies.

pipx install raypack

Capabilities

  • Calls poetry to create a virtualenv without dev dependencies
  • TODO: support pip, pipenv to create virtualenv.
  • Finds site-packages
  • Zips virtualenv and zips own package
  • TODO: support single file modules, eg. mymodule.py
  • Skips cruft
  • Run as few subprocesses as possible
  • config using pyproject.toml or CLI args
  • TODO: Uploads to s3
  • pipx installable
  • works on any OS as well as is possible (can't handle linux binaries on windows for example)

Usage

raypack
python -m raypack

Configuration. If none specified, defaults are as below.

[tool.raypack]
exclude_packaging_cruft = true
outer_folder_name = "venv"
source_venv = ".venv"
venv_tool = "poetry"

Contributing

To install and run tests and linting tools.

poetry install --with dev
make check

To see if the app can package up other apps

poetry build
# exist poetry shell so that pipx can install with the right base python
exit 
pipx install /e/github/raypack/dist/raypack-0.1.0-py3-none-any.whl

And then in a different project with a pyproject.toml file, run

raypack

Prior Art

Random scripts in comments

Similar to PEX or other venv zip tools, which as far as I know are not AWS aware, or they don't include all the dependencies, or they are more interested in making the archive file executable or self-extracting.

AWS Lambdas also have to go through a similar ad hoc zip process.

Documentation

Change Log

  • 0.1.0 - Idea and reserve package name.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

raypack-0.2.23.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

raypack-0.2.23-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file raypack-0.2.23.tar.gz.

File metadata

  • Download URL: raypack-0.2.23.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for raypack-0.2.23.tar.gz
Algorithm Hash digest
SHA256 f3c5010784f39d53a278b3347fde2fca16bc191b3f927a71b9441b1132243b65
MD5 ba01bda344d89323ffad70b7bef8f4ce
BLAKE2b-256 e1642a29524aeab9e93e89af11610f6dcf0cd8d8aa970912b624586b17d2ad20

See more details on using hashes here.

File details

Details for the file raypack-0.2.23-py3-none-any.whl.

File metadata

  • Download URL: raypack-0.2.23-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for raypack-0.2.23-py3-none-any.whl
Algorithm Hash digest
SHA256 2f1d8b6f6f97e6e05b0149b64518a9489464bbe463e0bc9af3f36a32ef922927
MD5 970d833ad9362603af8b68cf06c70e2f
BLAKE2b-256 2b503c1fa4bee9905a5f7cd9044cd247b30a1ff6362e61f29b58b07431ae5f32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page