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.18.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

raypack-0.2.18-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: raypack-0.2.18.tar.gz
  • Upload date:
  • Size: 9.0 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.18.tar.gz
Algorithm Hash digest
SHA256 b4b82087613cf0fd830f8cf07e77cfb97545fd7138c9c3bc5c8d2df25d7e5a0a
MD5 6eaf79499e5dfac43dfa4eede5188ca0
BLAKE2b-256 ddc65b9b931abf3ab872d6c0bcc46024de1f51d8b2b608ea01213049d6fa602c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: raypack-0.2.18-py3-none-any.whl
  • Upload date:
  • Size: 9.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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 d9438ad0a9cde9b1f999857178d859dfee304ae26118371214ea757972b8b5ab
MD5 bc1945657bf88e2c406405a5876dd487
BLAKE2b-256 40030e5f14a922366582fdbcbe96072b2485ad070f45c99c79a45adf75e0bb23

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