semvec/pypi-packages huggingface dataset:
dataknead 0.4.0
Fluent conversion between data formats like JSON, XML and CSV
License: MIT
Requires Python: >=3.6.1,<4.0.0
Keywords: data,json,csv,datascience,conversion

# dataknead
**Fluent conversion between data formats like JSON, XML and CSV**

[Read the docs](https://hay.github.io/dataknead/)

Ever sighed when you wrote code to convert CSV to JSON for the thousandth time?

```python
import csv
import json

data = []

with open("cities.csv") as f:
    reader = csv.DictReader(f)

    for row in reader:
        data.append(row)

with open("cities.json", "w") as f:
    json.dump(data, f)
```

Stop sighing and use `dataknead`. Fetch it with `pip`:

```bash
$ pip install dataknead
```

And use it like this:

```python
from dataknead import Knead
Knead("cities.csv").write("cities.json")
```

Or make it even easier on the command line:

```bash
knead cities.csv cities.json
```

`dataknead` has inbuilt loaders for CSV, Excel, JSON, TOML and XML and you can easily write your own.

Piqued your interest? [Read the docs!](https://hay.github.io/dataknead/).
secret-manager-env-injector 0.0.3
A plug-n-play package fetch secrets form secret manager and insert them in the env
License: MIT
Requires Python: >=3.6
Keywords: AWS,secret manager,env,cloud,json

# Secret Manager Env Injector

- ## [Getting Started](#getting-started)
    * [Prerequiste](#prerequiste)
    * [Installation](#installation)
    * [Examples](#example)
        * [Key Types](#key-type)
- ## [Available Methods](#available-methods)

- ### Prerequisites
    - Python >= 3.6.x
    - pip

- ### Installation
    ```
    $ pip install secret-manager-env-injector
    ```

- ### Examples
    - Using the Injector decorator
    ```
    # import the decorator
    from SecretManagerEnvInjector import injector
    
    # it will inject the secret in the environment with the name provided or the secret name in finds in the arn 
    @inject('arn:aws:secretsmanager:us-xxxx-1:xxxxxxxxxxxx:secret:xxxxxxxx-xxxxxxx', region='us-east-1', custom_secret_name='my-secret')
    def test():
        print("hello world")
    test()

    ```

### Available Methods

- JSONParser

| Method | Params | type | default | Description 
| --- | --- | --- | --- | --- |
| inject | arn | str | NA | ARN of the secret that needs to be extarcted
| inject | region | str | 'us-east-1' | select the AWS region
| inject | custom_secret_name | str | None | select the name with which you want the secret to be stored

### Note:
 - The package is under development and will be prone to more frequent updates
ply-bibtex-parser 0.1.0
A simple ply-based parser for BibTeX
License: MIT
Requires Python: >=3.6,<4.0
Keywords: ply,parser,bibtex

# ply-bibtex-parser

A simple ply-based parser for BibTeX

[ply](https://www.dabeaz.com/ply/) is an easy-to-use, pure-Python parser generator. However
it's not the most modern or performant tool.

This is mostly an academic exercise into writing a simple parser, but I used it in my personal website in order to parse
a `.bib` file to identify the different citations and write them back after reformatting
them.

## Install

```
pip install ply-bibtex-parser
```

## Usage

### Parsing

The main entry point is through `parser`:

```python
from ply_bibtex_parser import parser
input = '@article{citekey, author={Smith, Micah J.}, title={Foo bar}}'
parser.parse(input)
# [BibtexEntry(type='article', key='citekey', fields={'author': '{Smith, Micah J.}', 'title': '{Foo bar}'})]
```

The parser produces a possibly-empty list of `BibtexEntry` objects. Note that values in
the entry which are usually delimited with braces contain the braces: this makes it easy to
write back the bibtex entry without trying to escape its contents. The caller is responsible
for further parsing the values if they intend to use the string after escaping is performed.

### Lexing

You can also use the `lexer` directly:

```python
from ply_bibtex_parser import lexer
input = '@article{citekey, author={Smith, Micah J.}, title={Foo bar}}'
lexer.input(input)
for tok in lexer:
    print(tok)
# LexToken(AT,'@',1,0)
# LexToken(ID,'article',1,1)
# LexToken(ENTRYBEGIN,'{',1,8)
# LexToken(ID,'citekey',1,9)
# LexToken(COMMA,',',1,16)
# LexToken(ID,'author',1,18)
# LexToken(EQUALS,'=',1,24)
# LexToken(VALUE,'{Smith, Micah J.}',1,41)
# LexToken(COMMA,',',1,42)
# LexToken(ID,'title',1,44)
# LexToken(EQUALS,'=',1,49)
# LexToken(VALUE,'{Foo bar}',1,58)
# LexToken(ENTRYEND,'}',1,59)
```

## Development

Install
```
pip install poetry
poetry install
```

Check
```
inv test lint
```

## Limitations

See the TODO notes in [./ply_bibtex_parser/lexer.py](./ply_bibtex_parser/lexer.py) and [./ply_bibtex_parser/parser.py](./ply_bibtex_parser/parser.py).