Skip to main content

A package for parsing number strings in various formats

Project description

numpar

A simple, modern logo that represents number parsing/conversion

A Python package for parsing human-friendly number formats into floats. Handles various number formats including comma separators, percentages, and magnitude suffixes (k, M, B).

Features

  • Parse basic numbers with decimal points
  • Support for comma-separated numbers (e.g., "1,234.56")
  • Percentage conversion (e.g., "50%" → 0.5)
  • Magnitude suffixes:
    • k/K for thousands (e.g., "1.5k" → 1500)
    • m/M for millions (e.g., "2.5M" → 2,500,000)
    • b/B for billions (e.g., "1.5B" → 1,500,000,000)
  • Whitespace handling
  • Combined format support (e.g., "1,234.56k")

Example usage of numpar

Installation

pip install numpar

Usage

from numpar import parse_number

# Basic numbers
parse_number('123.45')      # 123.45
parse_number('-123.45')     # -123.45

# Comma separators
parse_number('1,234.56')    # 1234.56
parse_number('1,234,567')   # 1234567.0

# Percentages
parse_number('50%')         # 0.5
parse_number('12.34%')      # 0.1234

# Magnitude suffixes
parse_number('1.5k')        # 1500.0
parse_number('2.5M')        # 2500000.0
parse_number('1.5B')        # 1500000000.0

# Combined formats
parse_number('1,234.56k')   # 1234560.0

Contributing

Contributions are welcome! Here's how you can help improve numpar:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run the tests locally:
    # Install development dependencies
    pip install -e .
    
    # Run tests
    python -m unittest discover tests
    
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Development Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/numpar.git
    cd numpar
    
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: .\venv\Scripts\activate
    
  3. Install in development mode:

    pip install -e .
    

Publishing to PyPI

To publish a new version to PyPI:

  1. Update version in setup.py

  2. Build the distribution:

    python -m pip install --upgrade build
    python -m build
    
  3. Upload to PyPI:

    python -m pip install --upgrade twine
    python -m twine upload dist/*
    

License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

numpar-0.1.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

numpar-0.1.2-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file numpar-0.1.2.tar.gz.

File metadata

  • Download URL: numpar-0.1.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for numpar-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7cdfbec7995c9f2e59906e510856f3b4b5c1870b1fd756ded77ace5f40c416d3
MD5 6577ddf26fb57d6ccb4730f3a88526d1
BLAKE2b-256 40f6aeecd624d65c95eb3fd2d9ec1f024a84c022ca182b5b8690f6a14b39ed7b

See more details on using hashes here.

File details

Details for the file numpar-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: numpar-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for numpar-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f6719247228f551b8116a237ad1e52b68b897c1d9d531f64c6d5bc59bc5742c9
MD5 2601f5f7700a362ef707413617aa9467
BLAKE2b-256 866ddd2c7a8f739982e8fcb5e608ae21b00dd983b8726f77d779ace74c161475

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page