Skip to main content

A Python-based clone of the GNU install command.

Project description

Lithio - Python clone of GNU install

Lithio is a Python clone of the GNU install command, designed to provide a safe, flexible, and cross-platform solution for installing files and managing file permissions in various environments.

Installation

To install, run (be aware of what the install.sh script does):

bash install.sh

Note: The install.sh script sets up the package and installs necessary dependencies. Review the script before running it to understand what actions it performs.

To install files:

Once installed, you can use lithio to install files:

lithio file1 file2 /path/to/destination

This will copy file1 and file2 to the specified destination directory.

Note: If you used install.sh to install the package, you can install files that require elevated privileges sudo -E lithio

To install files with sudo:

sudo -E lithio file1 file2 /path/to/destination

The -E flag preserves the user's environment, which is useful when running the command with sudo.

Features

  • Simple command-line usage: Install files with ease and flexibility.
  • Checksum validation: You can validate file integrity using the --checksum <checksum_file> option with --checksum-type. The <checksum_file> should contain a list of file names and their associated hashes in the format <file_name>:<file_hash>\n.
  • Usability in scripts: lithio does not require any kind of user interaction, making it ideal for automation.
  • Extendable: Easily adaptable for future functionalities.
  • More: More information can be found in the man page man lithio

Contributing

Contributions are welcome! If you have suggestions, bug reports, or improvements, please open an issue or submit a pull request.

  1. Fork the repository
  2. Create a new branch (`git checkout -b feature-branch`)
  3. Commit your changes (`git commit -am 'Add new feature'`)
  4. Push to the branch (`git push origin feature-branch`)
  5. Create a new pull request

Make sure to add tests and documentation for your changes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For questions, you can reach me at voyager-2019@outlook.com.

Acknowledgments

  • Inspired by the GNU `install` command
  • Thanks to the contributors who helped improve this project!

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

lithio-1.0.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

lithio-1.0.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file lithio-1.0.1.tar.gz.

File metadata

  • Download URL: lithio-1.0.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.24.1 CPython/3.13.3 Linux/6.14.0-15-generic

File hashes

Hashes for lithio-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9ea6b5d6d0914557fab5a1a587c68c222cc0c66e6ab9bf4ccb9b82c951abf7c6
MD5 b4b54001b272a07c3a68ed2859202968
BLAKE2b-256 aedba742f3cec9b87b963b3faa23676d67582c89d8a700c0baf59de203077b38

See more details on using hashes here.

File details

Details for the file lithio-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: lithio-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.24.1 CPython/3.13.3 Linux/6.14.0-15-generic

File hashes

Hashes for lithio-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c2f18305937d2cca006920ddebb2fb7584583ddeea3f33d7111bce34703b0163
MD5 58350ea4f128571ae107b2e28ffc4d8d
BLAKE2b-256 799e8f27f7709b91bc4d3af3f208810b9382b2d07a8cfa1993f9000985484b0a

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