JSPM

mathlib-npm-new

1.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • 0
    • Score
      100M100P100Q9657F
    • License ISC

    Package Exports

    • mathlib-npm-new
    • mathlib-npm-new/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mathlib-npm-new) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    MathLib: A Simple Python Library for Basic Mathematical Operations

    MathLib is a simple Python library for basic mathematical operations, including arithmetic and algebraic functions. It's designed to be easy to use and extendable for more advanced mathematical operations.

    Features

    • Arithmetic Operations: Addition, subtraction, multiplication, and division.
    • Algebraic Operations: Solving simple linear equations.

    Important steps

    Step 1: Set Up the Project Structure

    First, set up your directory structure:

    MathLib/
    ├── mathlib/
    │   ├── __init__.py
    │   ├── arithmetic.py
    │   ├── algebra.py
    │   ├── complex_numbers.py
    │   ├── logarithmic.py
    │   ├── matrix_operations.py
    │   ├── power_roots.py
    │   ├── random_utils.py
    │   ├── statistics.py
    │   ├── trigonometry.py
    │   └── utility.py
    ├── tests/
    │   ├── test_arithmetic.py
    │   ├── test_algebra.py
    │   ├── test_complex_numbers.py
    │   ├── test_logarithmic.py
    │   ├── test_matrix_operations.py
    │   ├── test_power_roots.py
    │   ├── test_random_utils.py
    │   ├── test_statistics.py
    │   ├── test_trigonometry.py
    │   └── test_utility.py
    ├── setup.py
    ├── README.md
    └── LICENSE

    Step 2: Write the Package Code

    mathlib/__init__.py

    This file makes the mathlib directory a package.

    # mathlib/__init__.py
    
    from .arithmetic import add, subtract, multiply, divide, power
    from .algebra import solve_linear, solve_quadratic
    from .trigonometry import sin, cos, tan, arcsin, arccos, arctan
    from .statistics import mean, median, variance, standard_deviation
    from .matrix_operations import matrix_addition, matrix_multiplication, matrix_determinant, matrix_inverse
    from .complex_numbers import complex_addition, complex_subtraction, complex_multiplication, complex_division, complex_magnitude, complex_phase
    from .random_utils import random_integer, random_float
    from .utility import factorial, gcd, lcm
    
    __all__ = [
        'add', 'subtract', 'multiply', 'divide', 'power',
        'solve_linear', 'solve_quadratic',
        'sin', 'cos', 'tan', 'arcsin', 'arccos', 'arctan',
        'mean', 'median', 'variance', 'standard_deviation',
        'matrix_addition', 'matrix_multiplication', 'matrix_determinant', 'matrix_inverse',
        'complex_addition', 'complex_subtraction', 'complex_multiplication', 'complex_division', 'complex_magnitude', 'complex_phase',
        'random_integer', 'random_float',
        'factorial', 'gcd', 'lcm'
    ]

    Crete the python files for various kind of mathematical functions.

    Step 3: Write Tests

    Create some basic tests for your package.

    Step 4: Set Up the Package Metadata

    setup.py

    # setup.py
    
    from setuptools import setup, find_packages
    
    setup(
        name='mathlib',
        version='0.1',
        packages=find_packages(),
        description='A simple math library with basic operations',
        long_description=open('README.md').read(),
        long_description_content_type='text/markdown',
        author='Arun Kumar Pandey',
        author_email='arunp77@gmail.com',
        url='https://github.com/arunp77/mathlib-package.git',
        license='MIT',
        install_requires=[],
        classifiers=[
            'Programming Language :: Python :: 3',
            'License :: OSI Approved :: MIT License',
            'Operating System :: OS Independent',
        ],
    )
    

    This setup.py file is used to install the package using pip. It includes metadata such as

    Testing

    To run the tests for this project, use pytest:

    pytest tests/

    This will run the test suite located in the tests directory, ensuring that all functions work as expected.

    To check the individial operations, go to the test folder and run each file with pytest. FOr example, to check the operations insdie the functions defined in algebra.py, run: bash pytest algebra.py

    Installation

    • Step-1: Install the Package Locally

      You can install MathLib directly from the source code:

      git clone https://github.com/arunp77/Data-engineering-tools.git

      Navigate to the root directory of your project (where setup.py is located)

      cd /Data-engineering-tools/mathlib

      and then run:

      pip install -e . -v

      The -e flag stands for "editable," which means any changes you make to the code will immediately be reflected without needing to reinstall the package. Here -v will give you more detailed output about what is happening during the installation process.

      alt text

      We can alsi install it using:

      pip install mathlib

      alt text

    • Step 2: Verify Installation

      After running the installation, you can verify that the package was installed by running:

      pip show mathlib

      This should display information about the mathlib package, such as the version and location.

      Verify Import in Python Shell: Try importing mathlib directly in the Python shell to ensure it is correctly recognized:

      >>> import mathlib
      
      >>> mathlib

      We can also install mathlib, directly using setup.py file, using:

      python setup.py install --verbose

      This will give you more detailed output about what is happening during the installation process.

      If you're using pip install, you can add the -v option for verbose output:

    • Step 3: Run the Tests Once the package is installed, you should run the tests to ensure everything is working as expected.

      Navigate to the root directory of your project and run:

        pytest tests/

      This will execute the tests defined in tests/test_arithmetic.py and tests/test_algebra.py. If all the tests pass, it indicates that your package is functioning correctly.

    • Step 4: Create Docekrimage

      docker build -t arunp77/mathlib:latest .

      and then push it to DOcker.

      docker push arunp77/mathlib:latest

      Here, you must remember that, you must have created a Docker Access token from the DOcker hub and then saved it to your Github secrets. FOr more details on this, you can follow step by step guide provided at my documentation page created for another project

      Image of the library is available at: https://hub.docker.com/r/arunp77/mathlib

    Contributing

    Contributions are welcome! If you'd like to improve MathLib, please fork the repository and create a pull request with your changes. Make sure to update the tests as needed.

    License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Contact

    For questions or suggestions, feel free to reach out at arunp77@gmail.com.