semvec/pypi-packages huggingface dataset:
ctodd-python-lib-json 1.0.2
Python utilities used for interacting with JSON Files and Objects
License: MIT
Requires Python: >3.6
Keywords: python,libraries,json

# Christopher H. Todd's Python Library For Interacting With JSON Objects and Files

The ctodd-python-lib-json project is responsible for writing and reading JSON files and objects. will handle encoding Python objects into JSON.

## Table of Contents

- [Dependencies](#dependencies)
- [Libraries](#libraries)
- [Example Scripts](#example-scripts)
- [Notes](#notes)
- [TODO](#todo)

## Dependencies

### Python Packages

- simplejson>=3.16.0

## Libraries

### [json_reading_helpers.py](https://github.com/ChristopherHaydenTodd/ctodd-python-lib-json/blob/master/json_helpers/json_reading_helpers.py)

This library is used to aid in the task of reading .json files

Functions:

```
def read_json_file_into_memory(json_file):
    """
    Purpose:
        Read properly formatted JSON file into memory.
    Args:
        json_file (String): Filename for JSON file to load (including path)
    Returns:
        json_object (Dictonary): Dictonary representation JSON Object
    Examples:
        >>> json_file = 'some/path/to/file.json'
        >>> json_object = read_json_file_into_memory(json_file)
        >>> print(json_object)
        >>> {
        >>>     'key': 'value'
        >>> }
    """
```

### [json_writing_helpers.py](https://github.com/ChristopherHaydenTodd/ctodd-python-lib-json/blob/master/json_helpers/json_writing_helpers.py)

This library is used to aid in the task of reading .json files

Functions:

```
def write_json_into_file(json_object, json_file):
    """
    Purpose:
        Load Dictionary into JSON File
    Args:
        json_object (Dictionary): Dictionary to be stored in .json format
        json_file (String): Filename for JSON file to store (including path)
    Returns:
        N/A
    Examples:
        >>> json_file = 'some/path/to/file.json'
        >>> json_object = {
        >>>     'key': 'value'
        >>> }
        >>> write_json_into_file(json_file, json_object)
    """
```

## Example Scripts

Example executable Python scripts/modules for testing and interacting with the library. These show example use-cases for the libraries and can be used as templates for developing with the libraries or to use as one-off development efforts.

### N/A

## Notes

 - Relies on f-string notation, which is limited to Python3.6.  A refactor to remove these could allow for development with Python3.0.x through 3.5.x

## TODO

 - Unittest framework in place, but lacking tests
eth-data-tools 0.0.4
A Python package to help analyse Ethereum data
License: MIT

# Ethdata
[![Build Status](https://travis-ci.org/blocklytics/eth-data-tools.svg?branch=master)](https://travis-ci.org/blocklytics/eth-data-tools)
[![codecov](https://codecov.io/gh/blocklytics/eth-data-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/blocklytics/eth-data-tools)
[![PyPI version](https://badge.fury.io/py/eth-data-tools.svg)](https://badge.fury.io/py/eth-data-tools)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Offers developers and analysts a simple way to extract and analyse historical Ethereum data using free, public APIs and services.

 * Pull Ethereum data without waiting to sync a node
 * Data is automatically converted (as much as possible)
 * Start analysing data right away using Pandas or Excel

# Documentation

https://docs.blocklytics.org/ethdata/introduction

# GitHub

https://github.com/blocklytics/eth-data-tools
ctodd-python-lib-general 1.0.2
Python utilities used for General Functions not grouped in specific packages
License: MIT
Requires Python: >3.6
Keywords: python,libraries,general

# Christopher H. Todd's Python Library For General Tasks

The ctodd-python-lib-general project is responsible for general tasks that have not been put in specific libraries. Will basically be a dumping ground for one-off tasks that are repeatable but would not call for a specific lib that can be expanded.

## Table of Contents

- [Dependencies](#dependencies)
- [Libraries](#libraries)
- [Example Scripts](#example-scripts)
- [Notes](#notes)
- [TODO](#todo)

## Dependencies

### Python Packages

- requests>=2.21.0

## Libraries

### [downloader.py](https://github.com/ChristopherHaydenTodd/ctodd-python-lib-general/blob/develop/general_helpers/downloader.py)

Lib that allows downloading a File from the given url and saving to the given location

Functions:

```
def download_file(url, file_location=None, overwrite=False):
    """
    Purpose:
        Download file from specified URL and store in a specfied location.
        If no location is provided, the file is downloaded in the current
        directory. If overwrite is false, the file is not downloaded.
    Args:
        url (string): Full URL path to download file from.
        file_location (string): Full path to where file will be stored.
        overwrite (Boolean): Whether or not to overwrite file if it already
            exists
    Return
        file_location (string): Full path to where file was be stored.
    """
```

## Example Scripts

Example executable Python scripts/modules for testing and interacting with the library. These show example use-cases for the libraries and can be used as templates for developing with the libraries or to use as one-off development efforts.

### N/A

## Notes

 - Relies on f-string notation, which is limited to Python3.6.  A refactor to remove these could allow for development with Python3.0.x through 3.5.x

## TODO

 - Unittest framework in place, but lacking tests
ctodd-python-lib-execution 1.0.0
Python utilities used for tracking the execution of callables in Python
License: MIT
Requires Python: >3.6
Keywords: python,libraries,execution,profiling

# Christopher H. Todd's Python Library For Wrapping Callable Execution

The ctodd-python-lib-execution project is responsible for warpping callables in Python to wrap in function logging, execution time, and other quality of life improvements. Useful for wrapping functions with start and stop timers.

## Table of Contents

- [Dependencies](#dependencies)
- [Libraries](#libraries)
- [Example Scripts](#example-scripts)
- [Notes](#notes)
- [TODO](#todo)

## Dependencies

### Python Packages

- wrapt>=1.11.1

## Libraries

### [function_executors.py](https://github.com/ChristopherHaydenTodd/ctodd-python-lib-execution/blob/master/execution_helpers/function_executors.py)

Library for Logging the Execution Details of any callable or the main() function of a script.

Functions:

```
def main_executor(wrapped, instance, args, kwargs):
    """
    Purpose:
        Decorator for running the main() function. Decorator will
        log the start and completion of the script, time the
        execution and performance of the script, and handle
        and exceptions (log the exception to the log file and raise)
    Args:
        wrapped (main function):
        instance: pass in self when wrapping class method.
            default is None when wrapping function.
        args (Tuple): List of arguments
        kwargs (Dict): Dictionary of named arguments
    """
```

## Example Scripts

Example executable Python scripts/modules for testing and interacting with the library. These show example use-cases for the libraries and can be used as templates for developing with the libraries or to use as one-off development efforts.

### N/A

## Notes

 - Relies on f-string notation, which is limited to Python3.6.  A refactor to remove these could allow for development with Python3.0.x through 3.5.x

## TODO

 - Unittest framework in place, but lacking tests
ctodd-python-lib-datetime 1.0.0
Python utilities used for interacting with Python DateTime Objects
License: MIT
Requires Python: >3.6
Keywords: python,libraries,date,time

# Christopher H. Todd's Python Library For Interacting With Datetime Objects in Python

The ctodd-python-lib-datetime project is responsible for interacting with date, time, timezones, and other time related shenanigans in the Python languages.

## Table of Contents

- [Dependencies](#dependencies)
- [Libraries](#libraries)
- [Example Scripts](#example-scripts)
- [Notes](#notes)
- [TODO](#todo)

## Dependencies

### Python Packages

-

## Libraries

### [date_manipulation_helpers.py](https://github.com/ChristopherHaydenTodd/ctodd-python-lib-datetime/blob/master/datetime_helpers/date_manipulation_helpers.py)

Library for Manipulating Datetime and Date objects in Python

Functions:

```
def add_or_subtract_days_from_date(base_date, number_of_days, op='addition'):
    """
    Purpose:
        Adds or subtracts a number of days to a given date
        Useful for data sources that use different date structures
        Default operator is addition
    Args:
        base_date (str, datetime obj): Date to mutate
        number_of_days (int): Number of days to add or subtract
        op (str): operator to overload. 'addition' or 'subtraction'
    Returns:
        new_date (Date): Updated date based on function
    """
```

## Example Scripts

Example executable Python scripts/modules for testing and interacting with the library. These show example use-cases for the libraries and can be used as templates for developing with the libraries or to use as one-off development efforts.

### N/A
## Notes

 - Relies on f-string notation, which is limited to Python3.6.  A refactor to remove these could allow for development with Python3.0.x through 3.5.x

## TODO

 - Unittest framework in place, but lacking tests
mcts 1.0.4
A simple package to allow users to run Monte Carlo Tree Search on any perfect information domain
License: MIT
Keywords: mcts,monte,carlo,tree,search

# MCTS

This package provides a simple way of using Monte Carlo Tree Search in any perfect information domain.  

## Installation 

With pip: `pip install mcts`

Without pip: Download the zip/tar.gz file of the [latest release](https://github.com/pbsinclair42/MCTS/releases), extract it, and run `python setup.py install`

## Quick Usage

In order to run MCTS, you must implement a `State` class which can fully describe the state of the world.  It must also implement four methods: 

- `getPossibleActions()`: Returns an iterable of all actions which can be taken from this state
- `takeAction(action)`: Returns the state which results from taking action `action`
- `isTerminal()`: Returns whether this state is a terminal state
- `getReward()`: Returns the reward for this state.  Only needed for terminal states. 

You must also choose a hashable representation for an action as used in `getPossibleActions` and `takeAction`.  Typically this would be a class with a custom `__hash__` method, but it could also simply be a tuple or a string.  

Once these have been implemented, running MCTS is as simple as initializing your starting state, then running:

```python
from mcts import mcts

mcts = mcts(timeLimit=1000)
bestAction = mcts.search(initialState=initialState)
```
See [naughtsandcrosses.py](https://github.com/pbsinclair42/MCTS/blob/master/naughtsandcrosses.py) for a simple example.  

## Slow Usage
//TODO

## Collaborating

Feel free to raise a new issue for any new feature or bug you've spotted. Pull requests are also welcomed if you're interested in directly improving the project.