Skip to content

Commit

Permalink
init PyConIT 2024 (#97)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kislovskiy authored May 23, 2024
2 parents fd016fd + d02d344 commit c76c0b7
Show file tree
Hide file tree
Showing 45 changed files with 1,002,468 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
/2023_EuroSciPy/.2023_EuroSciPy/
*.venv/
*.egg-info/
.idea
.DS_Store
.hypothesis
Empty file added 2023_PyConIT/__init__.py
Empty file.
2 changes: 2 additions & 0 deletions 2024_PyConIT/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# GitHub syntax highlighting
pixi.lock linguist-language=YAML
3 changes: 3 additions & 0 deletions 2024_PyConIT/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# pixi environments
.pixi
*.egg-info
31 changes: 31 additions & 0 deletions 2024_PyConIT/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Simplifying Python Code through the Lens of Functional Programming

A repo for my PyConIT talk:
https://2024.pycon.it/en/event/simplifying-python-code-through-the-lens-of-functional-programming

## Project Overview
This project is a collection of Python scripts demonstrating various approaches to data processing pipelines.
The main focus is on functional programming techniques and error handling in Python.
The scripts read data from a CSV file, perform various transformations, and compute the average score.

## Getting Started
To run the scripts, you need to have pixi installed. If you don't have pixi, you can install it following the instructions at:
https://pixi.sh/latest/

## Scripts

The `src/pipeline` directory contains several Python scripts, each demonstrating a different approach to building a
data processing pipeline:

* [pipeline_a_polars.py](./src/pipeline/pipeline_a_polars.py): Uses the Polars library to compute the average score.
* [pipeline_b_imperative.py](./src/pipeline/pipeline_b_imperative.py): An imperative approach to building the pipeline.
* [pipeline_c_imperative_with_one_thing.py](./src/pipeline/pipeline_c_imperative_with_one_thing.py): An improved version of the imperative approach.
* [pipeline_d_with_currying.py](./src/pipeline/pipeline_d_with_currying.py): Uses currying to build the pipeline.
* [pipeline_e_function_composition.py](./src/pipeline/pipeline_e_function_composition.py): Uses function composition to build the pipeline.
* [pipeline_f_error_handling.py](./src/pipeline/pipeline_f_error_handling.py): Focuses on error handling in the pipeline.
* [pipeline_g_pymonad.py](./src/pipeline/pipeline_g_pymonad.py): Uses the PyMonad library to build the pipeline.

## Contributing
Contributions are welcome. Please submit an issue if you have something to add or fix.

## Resources
Empty file added 2024_PyConIT/__init__.py
Empty file.
Loading

0 comments on commit c76c0b7

Please sign in to comment.