Skip to content

Pomilon/Peck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peck: The Pome Package Manager

Peck is the official package manager for the Pome programming language. Designed to be robust, usable, and secure, Peck streamlines the process of discovering, installing, updating, and managing Pome packages and their dependencies.

Features

  • Secure Package Management: Install packages from a curated index with verified Git commit hashes, ensuring integrity and protection against malicious code injection.
  • Flexible Installation Sources:
    • Install from the official remote package index.
    • Install directly from Git repository URLs (with explicit security warnings).
    • Install from local file system paths.
  • Virtual Environment Integration: Seamlessly integrates with Pome's .pome_env virtual environments for project-specific dependencies.
  • Global Installation Support: Option to install packages globally on your system.
  • Editable Installs: Facilitates local development by allowing packages to be installed as symbolic links.
  • Dependency Resolution: Manages package dependencies defined in pome_pkg.json.
  • Package Search & Listing: Easily find and list installed or available packages.
  • Package Initialization: Generate boilerplate pome_pkg.json files for new Pome projects.

Installation

To build and install Peck on your system, follow these steps:

  1. Clone the Peck repository:

    git clone https://github.com/Pomilon/Peck
    cd Peck
  2. Make the installation script executable:

    chmod +x install.sh
  3. Run the installation script:

    ./install.sh

The script will guide you through building Peck and offer to install the peck executable to /usr/local/bin (which requires sudo).

Usage

Once installed, you can use the peck command from your terminal.

For a comprehensive guide on all available commands and options, refer to the Usage Documentation.

Quick Examples:

  • Get help:

    peck --help
  • Initialize a new Pome package:

    peck init
  • Install a package (e.g., my_library) from the index:

    peck install my_library
  • List installed packages:

    peck list

Pome Package Specification

For developers creating Pome packages, the Pome Package Specification defines the strict anatomy, metadata (pome_pkg.json), import resolution algorithm, and native extension ABI. This ensures compatibility and proper integration with the Pome interpreter and Peck package manager.

Contributing

I welcome contributions to Peck! Please refer to the project's issue tracker for ongoing tasks and submit pull requests with your enhancements.

License

This project is licensed under the MIT License.