8000 GitHub - Blogoag/substance: Substance is a Rust library that helps you analyze the size composition of binaries by examining their symbols and linking them to their original crates. It supports multiple binary formats and offers features like symbol analysis and build timing analysis, making it a valuable tool for Rust developers. πŸ¦€βœ¨
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Substance is a Rust library that helps you analyze the size composition of binaries by examining their symbols and linking them to their original crates. It supports multiple binary formats and offers features like symbol analysis and build timing analysis, making it a valuable tool for Rust developers. πŸ¦€βœ¨

License

Notifications You must be signed in to change notification settings

Blogoag/substance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Substance: A Powerful Library for Cargo-Bloat and More

Welcome to the Substance repository! This library enhances your experience with Rust's cargo-bloat tool and provides additional features to optimize your projects.

πŸš€ Getting Started

To get started with Substance, download the latest release from our Releases page. After downloading, follow the instructions to execute the library and integrate it into your Rust projects.

πŸ“¦ Features

  • Cargo-Bloat Integration: Analyze your binary size and identify unnecessary dependencies.
  • Enhanced Reporting: Get detailed reports on your project's size and composition.
  • Customizable Options: Tailor the analysis to meet your specific needs.
  • Cross-Platform Support: Works seamlessly on Windows, macOS, and Linux.

πŸ“š Installation

To install Substance, you can use Cargo, Rust's package manager. Open your terminal and run:

cargo install substance

This command will fetch the latest version of Substance and install it on your system.

πŸ› οΈ Usage

Once installed, you can start using Substance in your Rust projects. Here’s a simple command to analyze your project:

substance analyze

This command will generate a report on your project's size and dependencies. You can customize the analysis with various flags:

substance analyze --output-format json

This command will output the report in JSON format, making it easy to integrate with other tools.

πŸ“Š Example

Here’s a basic example of how to use Substance in a project:

  1. Create a new Rust project:

    cargo new my_project
    cd my_project
  2. Add Substance as a dependency in your Cargo.toml:

    [dependencies]
    substance = "0.1.0"
  3. Use Substance in your code:

    fn main() {
        // Your code here
        substance::analyze();
    }
  4. Run your project:

    cargo run

This will execute the analysis and display the results in your terminal.

πŸ“ˆ Understanding the Reports

Substance provides detailed reports that help you understand your project's dependencies and size. The reports include:

  • Total Size: The total size of your binary.
  • Dependency Breakdown: A list of dependencies and their sizes.
  • Unused Dependencies: Identify libraries that are not being used in your project.

πŸ—οΈ Contributing

We welcome contributions! If you want to help improve Substance, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Make your changes.
  4. Submit a pull request.

Please ensure that your code adheres to our coding standards and includes appropriate tests.

πŸ“ License

Substance is licensed under the MIT License. See the LICENSE file for more details.

πŸ“¬ Contact

If you have any questions or suggestions, feel free to reach out via the Issues section of this repository or contact us directly.

🌐 Links

πŸŽ‰ Acknowledgments

Thanks to the Rust community for their support and contributions. Your feedback helps us improve Substance and make it a better tool for everyone.

🎨 Badges

GitHub release (latest by date) License

πŸ“– Documentation

For more detailed documentation, visit our Wiki. Here, you will find guides, FAQs, and advanced usage scenarios.

πŸ“… Roadmap

We have exciting plans for the future of Substance! Here are some features we aim to implement:

  • Web Interface: A user-friendly web interface for analyzing projects.
  • Integration with CI/CD: Tools to automatically analyze projects in continuous integration pipelines.
  • Advanced Metrics: More detailed metrics on dependency usage and optimization suggestions.

πŸ’‘ FAQs

How do I report a bug?

Please open an issue in the GitHub repository with detailed information about the bug, including steps to reproduce it.

Can I use Substance in production?

Yes, Substance is designed to be stable and reliable for production use. However, always test it in your environment before deploying.

How can I support this project?

You can support us by contributing code, reporting issues, or sharing Substance with your network.

πŸ›‘οΈ Security

We take security seriously. If you discover a vulnerability, please report it to us immediately so we can address it.

🎈 Community

Join our community to share ideas, ask questions, and collaborate with other users of Substance. You can find us on Discord or Reddit.

🧩 Future Plans

We plan to expand Substance with more features and improvements. Stay tuned for updates!

πŸ”— External Resources

Thank you for visiting the Substance repository. We hope you find this library helpful for your Rust projects! For the latest updates, remember to check the Releases section.

About

Substance is a Rust library that helps you analyze the size composition of binaries by examining their symbols and linking them to their original crates. It supports multiple binary formats and offers features like symbol analysis and build timing analysis, making it a valuable tool for Rust developers. πŸ¦€βœ¨

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 24

Languages

0