semvec/pypi-packages huggingface dataset:
SuperDuperMetroid 2.3.3
A Super Metroid patching utility
Requires Python: >=3.8

NOTE: This project has no relation to the romhack of the same name.  
  
# Super-Duper-Metroid
Super Duper Metroid is a Super Metroid patcher and interface program, intended for use with randomizer programs. SDM is a **work in progress**, and is likely very broken in its current state. SDM requires an installation of Python 3 to work, although I haven't done any testing to determine which versions precisely work, and requires a Headerless ROM file to modify. Remember that video game piracy is a crime - only use legally obtained copies of the game Super Metroid with this program. Has been tested for NTSC.

# Building
Requires an adequate version of python  
Steps:  
1. Clone this repository
2. Open a terminal in the repository's root
3. Create a virtual environment by running `python -m venv venv`
4. Activate the virtual environment with `call venv/bin/activate` on Windows or `source venv/bin/activate` on Unix-based systems
5. Install requirements by running `python -m pip install -r requirements.txt`
6. Install as editable by running `python -m pip install -e .`
  
You can now run scripts from the project from terminal, using the virtual environment. Or run `python -m Super-Duper-Metroid` to patch the game via a CLI interface.

# Credit
Credit goes to Samuel Roy for writing most of this code.  
Kazuto wrote the More Efficient Item PLMs Hack, which is recreated in parts of this code.  
Metroid Construction and Kejardon provided a lot of documentation which I made use of.  
PHOSPHOTiDYL wrote the Skip Intro Saves hack, which is included in this program.  
Smiley and Flo wrote the Cheap Charge IPS patch.  
[n00btube](https://github.com/n00btube) wrote the Save Refill patch.  
Total, Fusda, and Leodox were responsible for most of the other IPS patches.
calculatormp 0.0.5
A package containing basic arithmetic operations
Requires Python: >=3.8

# Calculator

Calculator is a Python library that provides basic arithmetic operations.

## Installation

You can install Calculator using pip:

```bash
python -m pip install calculatormp
```

## Usage

Calculator provides add, subtract, multiply, divide, root and reset static methods of class Calculator. Each method (apart from reset) can take up to 2 arguments. If 1 argument is given, variable _memory (by default set to 0) is updated based on the chosen method, and its value is returned. If 2 arguments are given, variable _memory is set and returned based on the operation provided by the chosen method and 2 arguments. Giving 2 arguments disregards previous history of operations and automatically sets _memory to a new value. _memory can be manually set to 0 using reset() method.

```python
from calculatormp.calculator import Calculator

# Addition - returns float stored in _memory + x
Calculator.add(5) # returns 5
# If optional argument y is provided, returns x + y
Calculator.add(5, 5) # returns 10


# Subtraction - returns float stored in _memory - x
Calculator.substract(5) # returns -5
# if optional argument y is provided, returns x - y
Calculator.substract(10, 5) # returns 5


# Multiplication - returns float stored in _memory * x
Calculator.add(5) # _memory = 5
Calculator.multiply(5) # returns 25
# if optional argument y is provided, returns x * y
Calculator.multiply(2, 10) # returns 20


# Division - returns float stored in _memory / x
Calculator.add(5) # _memory = 5
Calculator.divide(5) # returns 1
# if optional argument y is provided, returns x / y
Calculator.divide(10, 2) # returns 5


# Root - returns x-th root of float stored in _memory
Calculator.add(16) # _memory = 16
Calculator.root(2) # returns 4
# if optional argument y is provided, returns y-th root of x
Calculator.root(16, 2) # returns 4

# Reset - sets variable _memory to 0
Calculator.add(50) # returns 50
Calculator.add(5) # returns 55
Calculator.reset()
Calculator.add(1) # returns 1
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License

[MIT](https://choosealicense.com/licenses/mit/)