semvec/pypi-packages huggingface dataset:
pyluach 2.3.0
A Python package for dealing with Hebrew (Jewish) calendar dates.
Requires Python: >=3.8
Keywords: hebrew, calendar, jewish, luach, gregorian, julian, days, dates, date, conversion, parsha, holiday

pyluach
=======
.. image:: https://readthedocs.org/projects/pyluach/badge/?version=stable
  :target: http://pyluach.readthedocs.io/en/latest/?badge=stable
  :alt: Documentation Status
.. image:: https://github.com/simlist/pyluach/actions/workflows/testing-and-coverage.yml/badge.svg?branch=master
    :target: https://github.com/simlist/pyluach/actions/workflows/testing-and-coverage.yml
.. image:: https://coveralls.io/repos/github/simlist/pyluach/badge.svg?branch=master
    :target: https://coveralls.io/github/simlist/pyluach?branch=dev

Pyluach is a Python package for dealing with Hebrew (Jewish) calendar dates.

Features
---------
* Conversion between Hebrew and Gregorian dates
* Finding the difference between two dates
* Finding a date at a given duration from the given date
* Rich comparisons between dates
* Finding the weekday of a given date
* Finding the weekly Parsha reading of a given date
* Getting the holiday occuring on a given date
* Generating html and text Hebrew calendars

Installation
-------------
Use ``pip install pyluach``.

Documentation
-------------
Documentation for pyluach can be found at https://readthedocs.org/projects/pyluach/.

Examples
------------
::

    >>> from pyluach import dates, hebrewcal, parshios

    >>> today = dates.HebrewDate.today()
    >>> lastweek_gregorian = (today - 7).to_greg()
    >>> lastweek_gregorian < today
	True
    >>> today - lastweek_gregorian
    7
    >>> greg = dates.GregorianDate(1986, 3, 21)
    >>> heb = dates.HebrewDate(5746, 13, 10)
    >>> greg == heb
    True

    >>> purim = dates.HebrewDate(5781, 12, 14)
    >>> purim.hebrew_day()
    'י״ד'
    >>> purim.hebrew_date_string()
    'י״ד אדר תשפ״א'
    >>> purim.hebrew_date_string(True)
    'י״ד אדר ה׳תשפ״א'

    >>> rosh_hashana = dates.HebrewDate(5782, 7, 1)
    >>> rosh_hashana.holiday()
    'Rosh Hashana'
    >>> rosh_hashana.holiday(hebrew=True)
    'ראש השנה'
    >>> (rosh_hashana + 3).holiday()
    None

    >>> month = hebrewcal.Month(5781, 10)
    >>> month.month_name()
    'Teves'
    >>> month.month_name(True)
    'טבת'
    >>> month + 3
    Month(5781, 1)
    >>> for month in hebrewcal.Year(5774).itermonths():
    ...     print(month.month_name())
    Tishrei Cheshvan ...

    >>> date = dates.GregorianDate(2010, 10, 6)
    >>> parshios.getparsha(date)
    [0]
    >>> parshios.getparsha_string(date, israel=True)
    'Beraishis'
    >>> parshios.getparsha_string(date, hebrew=True)
    'בראשית'
    >>> new_date = dates.GregorianDate(2021, 3, 10)
    >>> parshios.getparsha_string(new_date)
    'Vayakhel, Pekudei'
    >>> parshios.getparsha_string(new_date, hebrew=True)
    'ויקהל, פקודי'

Contact
--------
For questions and comments please `raise an issue in github
<https://github.com/simlist/pyluach/issues>`_ or contact me at
simlist@gmail.com.

License
--------
Pyluach is licensed under the MIT license.
yamja 0.3.0
Opinionated library for handling yaml configuration files and jinja2 templates
Requires Python: >=3.8
Keywords: configuration, jinja2, templates, yaml

# Yamja

WARNING: This is pre-release software.

Yamja is an opinionated library for handling yaml configuration files and jinja2 templates - designed for configuration driven development.

It was created after I've realized that I'm repeating the same pattern in many projects. It's not big (around 100 lines of code) but it offers a consistent and ergonomic way to handle configuration files.

example usage:
```python
cfg = yamja.load_config("./game_v1.yaml")
character = cfg.lookup('characters.marcus')
game_prompt = cfg.render('game_prompt', character=character)
```


## Features

- Load YAML configuration files
- Use Jinja2 templates within your configuration
- Support for nested configuration lookups using dot notation
- Support for environmental variables overriding lookups
- Support for jinja2 macros

## Installation

```bash
pip install yamja
```

## Usage

### Basic Configuration Loading

```python
from yamja import load_config

# Load a configuration file
config = load_config('config.yaml')

# Access values using dot notation
value = config.lookup('section.subsection.key')

# Access with default value
value = config.lookup('section.subsection.key', default='fallback')

# Access with environmental variable override
value = config.lookup('other_section.key', default=123, env_var='OTHER_KEY', cast=int)

```

### Defaults and precedence

- **Omitting `default` (or passing `...`)**: raises `KeyError` when the key is missing.
- **Precedence**: environment variable (if present) > config value > default.
- **Casting**: `cast` is applied to the selected source (env/config/default).

### Template Rendering

```yaml
# config.yaml
templates:
  greeting: "Hello {{ name }}!"
```

```python
# Render a template with variables
greeting = config.render('greeting', name='World')
```

```yaml
# more practical example
characters:
  jane:
    name: Jane Doe
    age: 30
    skills:
      - hacking
      - parkour
      - martial arts

templates:
  character_prompt: |
    <CHARACTER>
      <NAME>{{ character.name }}</NAME>
      <AGE>{{ character.age }}</AGE>
      <SKILLS>
        {% for skill in character.skills %}
          <SKILL>{{ skill }}</SKILL>
        {% endfor %}
      </SKILLS>
    </CHARACTER>
```

```python
character = config.lookup('characters.jane')
character_prompt = config.render('character_prompt', character=character)
```

### Including Other Config Files

```yaml
# main.yaml
include:
  - common.yaml
  - specific.yaml

additional_settings:
  key: value
```

## Requirements

- Python >= 3.8
- Jinja2
- PyYAML

## License

MIT License - see [LICENSE](LICENSE) for details.

## Links

- [GitHub Repository](https://github.com/mobarski/yamja)
BetterDebugging 1.0.5
A utility plugin, allowing you to set custom logging levels with colors and microsecond precision

# BetterDebugging:
So im going to be honest with you, this is a SUPPPERRRR basic utility. It does not need to be a python package. Its only like 80 lines of code, however it is tremendously helpful, i use it in a bunch of my own projects, and now it needs to be publically available instead of locally available, so that other people can run my code.

With that being said, here is the 'Extensive' list of features.

# init(level:LogLevel, logMs:boolean=True, logSender:boolean=True)
- Creates the log class
- You should note, the level set is the lowest level it will output. I.e. if the level is trace, all info will be shown, if the level is error, only error & critical logs will be shown.

# Log.c(msg:str)
- What is it? : Critical 
- Where do i use it? : Pretty much whenever something will cause a crash
- Colors? : Red Foreground, White Background

# Log.e(msg:str)
- What is it? : Error 
- Where do i use it? : Whenever something has gone noteably wrong, that will cause a problem left unattended (i.e, the exception on a try catch)
- Colors? : Red Foreground, Black Background

# Log.w(msg:str)
- What is it? : Warn
- Where do i use it? : Whenever something **Could** go wrong, i.e. a function has returned undefined where it usually wouldn't
- Colors? : Yellow Foreground, Black Background

# Log.i(msg:str)
- What is it? : Info
- Where do i use it? : whenever you just want info about the programs running
- Colors? :  Foreground Green, Black Background

# Log.d(msg:str)
- What is it? : Debug
- Where do i use it? : Pretty much whenever something will cause a crash
- Colors? : Blue Foreground, Black Background

# Log.t(msg:str)
- What is it? : Trace
- Where do i use it? : When you want to be overly anal about tracking a value as the program goes on. 
- Colors? : Cyan Foreground, Black Background