Skip to main content

Inflates gobos. A goboscript package manager.

Project description

inflator

Inflate gobos.

Inflator is a package manager for goboscript

SEE THE DOCUMENATION

Installation

  1. Clone the repository
  2. Run cd inflator
  3. Run pip install .

Usage

Inflator will try to behave like the old backpack version when dealing with goboscript.toml. In the future, it will probably not support the current backpack version/syntax.

If you want to integrate your project with inflator, add an inflator.toml file to your project. This is the file that inflator will look at for config and dependencies.

Installing packages/gobos

Inflator uses a loosely pip inspired syntax.

The command for installing packages is inflate install

  • For installing a local package:
    • Ensure an inflator.toml file is provided (see below)
    • cd to inside your package, to the same level as inflator.toml
    • run inflate install .

[!NOTE] You can find public gobos at https://github.com/topics/inflated-goboscript

  • For installing GitHub packages

    • run inflate install <link to github repository>
    • Optionally supply a version (tag name):
      inflate install <link to github repository> -V <version>
  • For local package development

    • You can install an 'editable' package using the -e flag.
    • inflate install -e .
    • This will store a symlink in your appdata instead of copying the folder, which means that changes to the original package will take effect instantly. This is like how pip installe -e . behaves

Inflator will avoid installing packages which have already been installed (same username, reponame and version). To override this, use the -U flag.

[!NOTE] If you are a package developer using inflator, you can upload your gobos to GitHub. Remember to provide inflator.toml. Please also add the inflated-goboscript tag to your repository

Syncing packages/gobos

Inflator.toml syntax:
# These 3 are used for local installating of a package.
# They are only needed if you are making your own package.
# `username` is only needed to keep locally installed packages linked to a specific user.
# But it is recommended to always include your username here
name = "<name of your package, e.g. 'projectenv'>"
version = "<version string, e.g. v0.0.0>"
username = "<Your username, e.g. FAReTek1>"

[dependencies]
# This is used by any project that has dependencies
# Use a package by relative path
vec2 = "../vec2"

# use an existing installed package
# WARNING: This will NOT work with inflate install!
# This assumes that you have already INSTALLED a package named `quat`
# e.g. from GitHub, or locally
quat = "quat"

# Use a GitHub repository
geo2d = "https://github.com/FAReTek1/geo2d"

# Use a GitHub repository with a version.
# Version numbers also work with globbing
geo2d_v7 = ["https://github.com/FAReTek1/geo2d", "v*.*.7"]

# Use an INSTALLED package with a version
# These version nums can also be globbed
penv-inf = ["projectenv-inflated", "v0.0.2"]

# Use an INSTALLED package with a version and specify a username
penv-inf = ["projectenv-inflated", "v0.0.2", "faretek1"]

If you are creating a package, do not include dependencies which rely on something already being installed (because inflator will try to evaluate them when trying to install your package, and will not be able to find their source)

To sync packages:

[!NOTE] If you are on windows, you will need permissions to create symlinks

  1. cd to your goboscript project
  2. run inflate
  3. if you want to do this without cding, do inflate -i <dir>
  4. pkgs will end up in inflate/ or backpack/ as symlinks

Other commands

inflate find

This lists out all packages that fit the specified name, username, or version

Syntax: inflate find [reponame] -U [username] -V [version]

Globbing is allowed You can omit all fields to list out all installed gobos.

inflate parse

This prints out what inflator makes of a goboscript.toml or inflator.toml file. Used for development, but you can use it too.

Syntax: inflate parse [filepath]

inflate toml

This auto generates an inflator.toml file for you. Recommended to run with goboscript new <args> Make sure you set your username or else

inflate -V

Prints out the inflate version

inflate -L

Prints out the path to the log folder

development installation

  1. clone the GitHub repository
  2. cd to the repo directory
  3. do pip install -e .
  4. you can use inflate using inflate <args>

credits

banner image is partially from https://scratch.mit.edu/projects/317901726/remixtree/

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

inflator-1.0.6.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

inflator-1.0.6-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file inflator-1.0.6.tar.gz.

File metadata

  • Download URL: inflator-1.0.6.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for inflator-1.0.6.tar.gz
Algorithm Hash digest
SHA256 ff9689cebad809d6dbe0634c2cd3ddf63f9fbb87bf9f3abbb1058ed836f9ee50
MD5 1242e9222200eaa4c5f2055f346566b2
BLAKE2b-256 39856039bf394d282fac0183589ad50a980e66ea418368d572f41a5950ce3da8

See more details on using hashes here.

File details

Details for the file inflator-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: inflator-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for inflator-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0e33d0e73819c7fce665e3f17308e6c6ace67ceec76147c67a5a7e0230905ece
MD5 9e553f85dd436aab1de2aec96cfffe16
BLAKE2b-256 a7c83c0c0402c5c61de7154d8f720c1882a7ed48dcbd1fd9e0c5708da0ee2a8d

See more details on using hashes here.

Supported by

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