Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Future Implementations for classes - Measure, Money, and Date #258

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

ngachchi
Copy link
Contributor

@ngachchi ngachchi commented Jan 24, 2025

What does this PR do ?

This pull request introduces enhanced functionality for three classes: Measure, Money, and Date. These improvements are designed to increase usability and flexibility in handling various scenarios related to measurement units, currency transactions, and date manipulations.

Key Changes:

Measure Class:

  • Introduced the "into" operator and added support for various measurement types, enabling users to define and manipulate custom units tailored to their needs.

Money Class:

  • Implemented functionalities for minor currencies, allowing for more precise financial calculations (e.g., handling cents and pennies).

Date Class:

  • Developed a flexible date range functionality, allowing users to manage periods confidently, including start and end dates.
  • Integrated support for different eras (e.g., BC/AD, fiscal years) to ensure compatibility with both historical and future date representations.

Before your PR is "Ready for review"

Pre checks:

  • Have you signed your commits? Use git commit -s to sign.
  • Do all unittests finish successfully before sending PR?
    1. pytest or (if your machine does not have GPU) pytest --cpu from the root folder (given you marked your test cases accordingly @pytest.mark.run_only_on('CPU')).
    2. Sparrowhawk tests bash tools/text_processing_deployment/export_grammars.sh --MODE=test ...
  • If you are adding a new feature: Have you added test cases for both pytest and Sparrowhawk here.
  • Have you added __init__.py for every folder and subfolder, including data folder which has .TSV files?
  • Have you followed codeQL results and removed unused variables and imports (report is at the bottom of the PR in github review box) ?
  • Have you added the correct license header Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. to all newly added Python files?
  • If you copied nemo_text_processing/text_normalization/en/graph_utils.py your header's second line should be Copyright 2015 and onwards Google, Inc.. See an example here.
  • Remove import guards (try import: ... except: ...) if not already done.
  • If you added a new language or a new feature please update the NeMo documentation (lives in different repo).
  • Have you added your language support to tools/text_processing_deployment/pynini_export.py.

PR Type:

  • New Feature
  • Bugfix
  • Documentation
  • Test

If you haven't finished some of the above items you can still open "Draft" PR.

ngachchi

This comment was marked as duplicate.

Signed-off-by: Namrata Gachchi <[email protected]>
@ngachchi ngachchi requested a review from mgrafu February 7, 2025 11:12
@@ -35,7 +40,7 @@ class MeasureFst(GraphFst):
def __init__(self, cardinal: GraphFst, decimal: GraphFst):
super().__init__(name="measure", kind="classify")

cardinal_graph = cardinal.final_graph
cardinal_graph = digit | teens_and_ties | cardinal.graph_hundreds | cardinal.graph_thousands
decimal_graph = decimal.final_graph_wo_negative
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it make sense to do the same thing for decimals as we did for cardinals?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants