Memtab Visualizers¶
Welcome!
Documentation: https://etn-corp.github.io/memtab-visualizers/
Source Code: https://github.com/etn-corp/memtab-visualizers
memtab-visualizers is a Python-based project that provides both a command line interface (CLI) and a Python library. ## Features
Command Line Interface (CLI)
Python library
Installation¶
To install memtab-visualizers, you can use pip:
pip install git+https://github.com/etn-corp/memtab-visualizers
Usage¶
Command Line Interface¶
To get these new reports, add the appropriate –report argument to memtab after installing this package:
memtab --elf xyz.elf --config xyz.yml --report [treemap|categorymemmap|excel|memmap|markdown|memoryprofiler|summary]
Python Library¶
To use the Python library:
import memtab_visualizers
Developing¶
This project is managed using uv. For more information, refer to Astral’s page on uv <https://astral.sh/uv/>.
Common Commands¶
uv sync: Sync your development environment with the project dependencies.
uv run <command>: Run a command within the project’s virtual environment.
uv build: generate a pip installable wheel or sdist file in the dist/ directory.
Running Tests¶
To run tests, use uv with coverage:
uv run coverage run -m pytest
Staying synced up to memtab¶
If the memtab package has updated, run the following to update uv:
uv sync --reinstall-package memtab --upgrade
Pre-commit Hooks¶
We use pre-commit to ensure code quality and consistency. After cloning the project, install the pre-commit hooks by running:
pre-commit install
For more information on pre-commit, visit the pre-commit website <https://pre-commit.com/>.
We also have a GitHub Action that runs pre-commit checks on every push and pull request, so you can rely on that if you prefer not to install pre-commit locally.
Contribution Guidelines¶
We welcome contributions! Please follow these guidelines:
Fork the repository.
Create a new branch (git checkout -b feature-branch).
Make your changes.
Commit your changes (git commit -am ‘Add new feature’).
Push to the branch (git push origin feature-branch).
Create a new Pull Request.
Reporting Issues¶
If you encounter any issues, please report them on the GitHub Issues page.
Generating Documentation¶
To generate documentation, use Sphinx:
cd docs/
sphinx-apidoc -o . ../src/memtab-visualizers/
Now hand-edit the generated files to fix the paths (adding memtab-visualizers.), and then run:
make html
License¶
This project is licensed under the MIT License. See the LICENSE file for more information.
Start Your Journey¶
If you want to use these visualizations, click here.
If you want to contribute to the development of these visualizations, click here.
Memtab Visualizers¶
Welcome!
Documentation: https://etn-corp.github.io/memtab-visualizers/
Source Code: https://github.com/etn-corp/memtab-visualizers
memtab-visualizers is a Python-based project that provides both a command line interface (CLI) and a Python library. ## Features
Command Line Interface (CLI)
Python library
Installation¶
To install memtab-visualizers, you can use pip:
pip install git+https://github.com/etn-corp/memtab-visualizers
Usage¶
Command Line Interface¶
To get these new reports, add the appropriate –report argument to memtab after installing this package:
memtab --elf xyz.elf --config xyz.yml --report [treemap|categorymemmap|excel|memmap|markdown|memoryprofiler|summary]
Python Library¶
To use the Python library:
import memtab_visualizers
Developing¶
This project is managed using uv. For more information, refer to Astral’s page on uv <https://astral.sh/uv/>.
Common Commands¶
uv sync: Sync your development environment with the project dependencies.
uv run <command>: Run a command within the project’s virtual environment.
uv build: generate a pip installable wheel or sdist file in the dist/ directory.
Running Tests¶
To run tests, use uv with coverage:
uv run coverage run -m pytest
Staying synced up to memtab¶
If the memtab package has updated, run the following to update uv:
uv sync --reinstall-package memtab --upgrade
Pre-commit Hooks¶
We use pre-commit to ensure code quality and consistency. After cloning the project, install the pre-commit hooks by running:
pre-commit install
For more information on pre-commit, visit the pre-commit website <https://pre-commit.com/>.
We also have a GitHub Action that runs pre-commit checks on every push and pull request, so you can rely on that if you prefer not to install pre-commit locally.
Contribution Guidelines¶
We welcome contributions! Please follow these guidelines:
Fork the repository.
Create a new branch (git checkout -b feature-branch).
Make your changes.
Commit your changes (git commit -am ‘Add new feature’).
Push to the branch (git push origin feature-branch).
Create a new Pull Request.
Reporting Issues¶
If you encounter any issues, please report them on the GitHub Issues page.
Generating Documentation¶
To generate documentation, use Sphinx:
cd docs/
sphinx-apidoc -o . ../src/memtab-visualizers/
Now hand-edit the generated files to fix the paths (adding memtab-visualizers.), and then run:
make html
License¶
This project is licensed under the MIT License. See the LICENSE file for more information.