computablephasemetrics
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.2%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: MortenHolmRep
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Size: 15.6 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
ComputablePhaseMetrics
Description
This module provides functionality to compute Computable Information Densities (CID), a proposed universal indicator metric for identifying phase transitions in complex systems out of equilibrium. CID is a measure derived from algorithmic information theory and is used to analyze the structural and dynamical properties of systems undergoing phase transitions.
The module includes methods for calculating CID values and interpreting them in the context of phase transition phenomena, making it a valuable tool for researchers studying criticality and emergent behavior in various scientific domains.
Installation Guide
To install the package in editable mode with development dependencies, use the following command:
bash
pip install -e .[dev]
Make sure you have pip installed and are in the root directory of the project before running the command.
Building the C Extension
The package includes a C extension module (LempelZivModule) for improved performance. The installation process will automatically build this module.
Contributing
We welcome contributions to improve this project! Please follow these guidelines to ensure a smooth contribution process.
GitHub Issues
Use GitHub issues for tracking and discussing requests and bugs. If there is anything you'd wish to contribute: - Create a new issue describing what you would like to work on, or - Assign an existing open issue to yourself to take ownership of a particular task
Using issues actively ensures transparency and agreement on priorities. This helps avoid situations with development effort going into features outside the project scope or solutions that could be better implemented differently.
How to Contribute
Fork the repository
- Click the "Fork" button at the top right of this repository
- This creates a copy of the repository in your GitHub account
Clone your fork
bash git clone https://github.com/YOUR-USERNAME/REPOSITORY-NAME.git cd REPOSITORY-NAMECreate a new branch
bash git checkout -b feature/your-feature-name- Develop code in dedicated feature branches on your forked repository
- Use descriptive branch names (e.g.,
add-2d-ising-model)
Make your changes
- Implement your feature or bug fix
- Add or update tests as necessary
- Update documentation as needed
Commit your changes
bash git commit -m "Add a descriptive commit message"Push to your fork
bash git push origin feature/your-feature-nameCreate a Pull Request
- Go to the original repository
- Click "Pull Requests" and then "New Pull Request"
- Click "compare across forks" and select your fork and branch
- Add a title and description that clearly explains your changes
- Submit the pull request
Pull Request Requirements
To be accepted, pull requests must: - Pass all automated checks (pending implementation) - Be reviewed by at least one other contributor
Reviews should check for: 1. Standard Python coding conventions (PEP8) 2. Google-style docstrings and type hinting as necessary 3. Unit tests as necessary 4. Clean coding practices
Conventions
This repository aims to support Python versions that are actively supported (currently >=3.10).
Standard Python coding conventions should be followed:
- Adhere to PEP8
- Use clean code practices when relevant
Code Quality
To ensure consistency in code style and adherence to best practices, we require that all developers use:
- docformatter for docstring formatting
- mypy for static type checking
- ruff for linting
This can conveniently be done using pre-commit hooks. To set this up:
Make sure you have installed the
pre-commitPython package:bash pip install -e .[dev]Install the pre-commit hooks:
bash pre-commit install
Then, every time you commit a change, your code and docstrings will automatically be formatted and checked for errors and adherence to PEP8, PEP257, and static typing.
Owner
- Name: Morten Holm
- Login: MortenHolmRep
- Kind: user
- Location: Denmark
- Website: https://www.linkedin.com/in/bscmh/
- Repositories: 1
- Profile: https://github.com/MortenHolmRep
M.Sc. student in computational physics at university of copenhagen with a bachelors in quantum physics.
Citation (CITATION.cff)
# https://citation-file-format.github.io/
cff-version: 1.2.0
message: "Please cite this software using the information provided below if you use it in your research or work."
authors:
- family-names: Andersen
given-names: Benjamin H.
orcid: https://orcid.org/0000-0001-6579-4823
- family-names: Holm
given-names: Morten
orcid: https://orcid.org/0000-0003-1383-2810
- family-names: Andersen
given-names: Simon G.
orcid: https://orcid.org/0009-0005-8725-5691
- family-names: Doostmahammadi
given-names: Amin
orcid: https://orcid.org/0000-0002-1116-4268
title: "Computable Phase Metrics"
version: 0.1.0
date-released: 2025-04-21
GitHub Events
Total
- Issues event: 3
- Push event: 4
- Create event: 2
Last Year
- Issues event: 3
- Push event: 4
- Create event: 2
Dependencies
- h5py *
- numpy *
- pandas *