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.3.tar.gz (4.7 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.3-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lithio-1.0.3.tar.gz
  • Upload date:
  • Size: 4.7 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.3.tar.gz
Algorithm Hash digest
SHA256 aa474e98b4d501082cb66f2ac19c4d4dc02f3f209543231a7556b80df4b29076
MD5 6ee3c138c283b6510ef115259c66a60d
BLAKE2b-256 0249f903d372a4b5772d4f303effc2e41b763ba7d4e28f7b1a40d3b58856e29d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lithio-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6bf47e5f4d0d071eb80121e31a13dead2ab7d75686b59c4391dbe2e4ed99d23c
MD5 c125288b22af9f9326d8532eaf32cd6a
BLAKE2b-256 a4967c84544cf102a4efe3ba96ce78bc564a980b4dcb69a3e433f73ccca12817

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