Giter Club home page Giter Club logo

pkgx's Introduction

pkgx.dev

pkgx is a single, standalone binary that can run anything.   coverage

 

Quickstart

brew install pkgxdev/made/pkgx

 

Run Anything

$ deno
command not found: deno

$ pkgx deno
Deno 1.36.3
> ^D

$ deno
command not found: deno
# ^^ nothing was installed; your system remains untouched

Run Any Version of Anything

$ pkgx node@14 --version
Node.js v14.21.3

$ pkgx python@2 --version
Python 2.7.18

Run Anywhere

  • macOS
    • macOS >= 11
    • x86-64 & Apple Silicon
  • Linux
  • Windows

    WSL2; x86-64. Native windows is planned.

  • Docker
    $ pkgx docker run -it pkgxdev/pkgx
    
    (docker) $ pkgx node@16
    Welcome to Node.js v16.20.1.
    Type ".help" for more information.
    >

    Or in a Dockerfile:

    FROM pkgxdev/pkgx
    RUN pkgx [email protected] task start

    Or in any image:

    FROM ubuntu
    RUN curl https://pkgx.sh | sh
    RUN pkgx [email protected] -m http.server 8000

    docs.pkgx.sh/docker

  • CI/CD
    - uses: pkgxdev/setup@v1
    - run: pkgx shellcheck

    Or in other CI/CD providers:

    $ curl https://pkgx.sh | sh
    $ pkgx shellcheck

    docs.pkgx.sh/ci-cd

  • Scripts
    #!/usr/bin/env -S pkgx +git [email protected]
    
    # python 3.12 runs the script and `git` is available during its execution

    docs.pkgx.sh/scripts

  • Editors
    $ cd myproj
    
    myproj $ env +cargo
    (+cargo) myproj $ code .

    Or use dev; a separate tool that uses the pkgx primitives to automatically determine and utilize your dependencies based on your project’s keyfiles.

    $ cd myproj
    
    myproj $ dev
    env +cargo +rust
    
    (+cargo+rust) my-rust-project $ code .

    docs.pkgx.sh/editors

 

Shell Integration

pkgx puts the whole open source ecosystem at your fingertips and its optional shell integration makes workflows with that open source even more seamless.

$ env [email protected]
added ~/.pkgx/go.dev/v1.16 to environment

(+go) $ go
Go is a tool for managing Go source code.
#

(+go) $ env | grep go
PATH=~/.pkgx/go.dev/v1.16.15/bin:$PATH
LIBRARY_PATH=~/.pkgx/go.dev/v1.16.15/lib

(+go) $ env -go
removed ~/.pkgx/go.dev/v1.16 from environment

$ go
command not found: go

Tools are available for the duration of your terminal session. If you need them for longer, pkgx install.

docs.pkgx.sh/shell-integration
docs.pkgx.sh/pkgx-install

dev

dev is a separate tool that leverages pkgx's core features to auto-detect and install project dependencies, seamlessly integrating them into your shell and editor.

my-rust-proj $ dev
dev: found Cargo.toml; env +cargo +rust

(+cargo+rust) my-rust-proj $ cargo build
Compiling my-rust-proj v0.1.0
#

The dev tool requires our shell integration to work.

docs.pkgx.sh/dev

 

Getting Started

brew install pkgxdev/made/pkgx

no brew? docs.pkgx.sh/installing-w/out-brew

Integrating with your Shell

pkgx integrate --dry-run   # docs.pkgx.sh/shell-integration

Further Reading

docs.pkgx.sh is a comprehensive manual and user guide for pkgx.

 

Contributing

  • To add packages see the pantry README
  • To hack on pkgx itself; clone it and then pkgx deno task to list entrypoints for hackers

If you have questions or feedback:

pkgx's People

Contributors

abevier avatar abitrolly avatar davdroman avatar dependabot[bot] avatar gaggle avatar hezhizhen avatar icidasset avatar j1philli avatar jhheider avatar jjj avatar jonchang avatar jongwooo avatar jrgoodle avatar keith avatar kunalgoyal9 avatar lino-levan avatar lukesavefrogs avatar mfts avatar miles170 avatar mxcl avatar osalbahr avatar otherjl0 avatar rossilor95 avatar ryanml avatar scnewma avatar secondary-smiles avatar tranhoaison avatar trentlarson avatar uesyn avatar vegerot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.