semvec/pypi-packages huggingface dataset:
pystepfunction 1.1.131
Create AWS Step Functions asl.json with Python
Requires Python: >=3.10
Keywords: aws,stepfunctions,step functions

# pystepfunctions

Create AWS Stepfunction asl.json files (state machine definition files) using python.  
Pre-made tasks that are easy to use.  
Test dataflow through the stepfunction using the same python code.  
Visualise the stepfunction using pyvis for easier dubugging without the use of the AWS console.  

## Docs

https://mrhopko.github.io/pystepfunction/pystepfunction/

## Installation
```
pip3 install pystepfunction
```

## Complete example
```python
from logging import getLogger
from pystepfunction.tasks import (
    LambdaTask,
    GlueTask,
    PassTask,
    SucceedTask,
    FailTask,
)
from pystepfunction.branch import Branch
from pystepfunction.viz import BranchViz
from pystepfunction.state import StateMachine
from pystepfunction.errors import ERROR_STATE_ALL

logger = getLogger(__name__)

# create a lambda task
lambda_task = (
    LambdaTask("lambda_task", function_arn="aws::my-lambda-arn")
    .with_retry(error_equals=[ERROR_STATE_ALL], interval_seconds=1, max_attempts=3)
    .with_catcher(
        error=[ERROR_STATE_ALL],
        task=FailTask(
            "lambda_task_fail", cause="lambda task failed", error="MyLambdaError"
        ),
    )
    .with_resource_result({"Payload": {"Result": "LambdaResult"}})
    .with_output(
        result_path="$.LambdaTaskResult",
        result_selector={"SelectThis.$": "$.Payload.Result"},
    )
)

# create a glue task
glue_task = (
    GlueTask(
        "glue_task",
        job_name="my-glue-job-name",
        job_args={"job_input_arg.$": "$.LambdaTaskResult.SelectThis"},
    )
    .with_catcher(
        error=[ERROR_STATE_ALL],
        task=FailTask(
            "glue_task_fail", cause="glue task failed", error="MyGlueError"
        ),
    )
    .with_resource_result({"JobResult": "GlueResult"})
    .with_output(result_path="$.GlueTaskResult")
)

# chain them together and create a branch
lambda_task = lambda_task >> glue_task >> SucceedTask("succeeded")
branch = Branch(comment="Lambda and Glue", start_task=lambda_task)

# view the asl
print(branch)

# asl as a dict
asl = branch.to_asl()

# write the asl to a file
branch.write_asl("my_asl_file.asl.json")

# visualise the asl
BranchViz(branch).show()

# create a state machine
sm = StateMachine(state={"Input1": "Input1Value"}, logger=logger)
sm.apply_branch(branch)
sm.show_logs()
```
skyr 0.3.1
A low-fat task runner.
Requires Python: >=3.9

# Skyr

> Low-fat task runner.

Skyr is a task runner, similar to Make. Just like Make, it can have tasks that
depend on each other and are executed only if a file changes. But, unlike Make,
Skyr doesn't actually have to be installed on your machine to run. That's
because Skyr uses Shell scripts to define build commands and looks for special
comments for special features. This means you can very easily integrate Skyr
into your existing project.

## Install

### Using `pipx` (recommended)

```sh
pipx install skyr
```

### Using plain `pip`

```sh
pip install --user skyr
```

## Drop-in executable

```sh
wget "https://raw.githubusercontent.com/kytta/skyr/main/skyr.py"
```

## Usage

For example, to execute `script/test`:

```sh
skyr test
```

If you don't provide the script name, it will default to `build`:

```sh
skyr  # same as 'skyr build'
```

By default, Skyr searches for your scripts inside `./.skyr/` and `./script`. To
change that, use `--script-dir`:

```sh
skyr --script-dir ./dev/ test
```

## Roadmap

- [x] Basic script running: Run .sh, .bash, .zsh, and other files from the
  `script/` directory.
- [ ] Target dependencies: Run scripts if other depend on them.
- [ ] Dependency age: Run scripts only if the files it depends on changed.
- [ ] Script validation: Check that Skyr understands the scripts it was given.
- [ ] Make mode: Support running very basic Makefiles.
- [ ] Make migration mode: Support migrating from a Makefile to a `script/`
  directory.
- [ ] Just mode: Support running very basic Justfiles.
- [ ] Just migration mode: Support migrating from `just` to a `script/`
  directory.

## Licence

© 2023 [Nikita Karamov]\
Code licensed under the [ISC License].

______________________________________________________________________

This project is hosted on GitHub:
<https://github.com/kytta/skyr.git>

[isc license]: https://spdx.org/licenses/ISC.html
[nikita karamov]: https://www.kytta.dev/
simple-rest-client 1.2.1
Simple REST client for python 3.8+
Keywords: rest client http httpx asyncio

Simple Rest Client
==================

|Github Actions Status|

----

Simple REST client for python 3.8+.


How to install
--------------

.. code:: shell

    pip install simple-rest-client


Documentation
--------------

Check out documentation at `Read the Docs`_ website.

.. _`Read the Docs`: https://python-simple-rest-client.readthedocs.io/en/latest/


Projects using
--------------

- `python-vindi`_
- `sentry-patrol`_

.. _`python-vindi`: https://github.com/allisson/python-vindi
.. _`sentry-patrol`: https://github.com/daneoshiga/sentry-patrol

.. |Github Actions Status| image:: https://github.com/allisson/python-simple-rest-client/workflows/main-workflow/badge.svg
   :target: https://github.com/allisson/python-simple-rest-client/actions