PAST MEETINGS

Thu, Oct 10 2024 at 06:00 PM at Tegus

A hand-holding guide to writing FUSE-based filesystems in Python
(1 Minutes)
By: Gunnar Wolf
Experience Level: Intermediate

FUSE (an interface for userpsace programs to export a virtual filesystem to the Linux kernel) is a great tool, and can be used to present many different situations. There are several good examples that are shipped with the bindings for different languages (i.e. almost 20 example programs are available in C for the reference implementation).

Python is a very popular language for teaching, and of course, there are Python bindings available for FUSE PyPI page. Of course, it also has a number of available examples.

With this little project, I want to present a set of examples presenting FUSE's functionality in a stepwise fashion, that is, as a logically ordered set of steps, guiding you from a micro-filesystem that is successful to load and does nothing, to one that gives full interaction and a non-obvious view of a complex set of information. Of course, it is quite possible we will have some forks along the road, as complexity can grow in many different directions 😉

I have started a project to create some stepwise-increasing FUSE filesystems in Python to help my students understand how FUSE works and how to write for it. My project is still in its early stages, but I'd love to show it to the ChiPy community as an example of code I'm having fun with, and probably to get some collaboration from you! 😃

"Make It So" Simple: Streamlining Web Development with PostgreSQL & SQLAlchemy
(15 Minutes)
By: Joseph J Jasinski
Experience Level: Intermediate

Looking to add new features to your web application? Before diving into the sea of flashy open-source tools, consider this: each new addition can introduce unnecessary complexity and potential pitfalls. What if the solutions you need are already available to you—in your database?

In this talk, we'll explore how leveraging the powerful features of PostgreSQL and SQLAlchemy can simplify your web applications. See some examples of how to implement new functionalities without the overhead of extra services, and unlock the hidden potential of the tools you already use.

38 Python enthusiasts attended this meeting.


Thu, Oct 03 2024 at 06:30 PM at Northeastern

12 Python enthusiasts attended this meeting.


Thu, Sep 19 2024 at 06:00 PM at American Planning Association (APA)

Python Generators: From yielding resources to awaiting concurrency
(30 Minutes)
By: Andrew Wingate
Experience Level: Intermediate

Have you thought that generators were only complicated iterators?

Let's explore generators

- To simplify your code and save memory on resource constrained devices.

- To create pipelines,delay execution and create concurrency. 

Generators are a powerful tool to have in your toolbox. In fact you're probably using them and don't even realize it.

You Should Care About QA
(20 Minutes)
By: Chelsey Squanda
Experience Level: Novice

QA is more important than ever in software development.  I'll be walking through why and include some real world examples.

56 Python enthusiasts attended this meeting.


Thu, Sep 05 2024 at 06:30 PM at Skylark Chess Club

12 Python enthusiasts attended this meeting.


Thu, Aug 08 2024 at 06:00 PM at Slalom Build

Package and Share Your Python Code Like a Pro
(30 Minutes)
By: Paul Zuradzki
Experience Level: Novice

Have you ever struggled with making your Python scripts reproducible? Do you want another project to be able to use your code without forcing users to copy your files? 

Ever get stumped by these errors:
```
ImportError: No module named MyPackage
ImportError: attempted relative import with no known parent package
```

If yes, then this talk is for you!

We will talk about
- Python module search path basics
- Learn to make a pip-installable package with automated code quality tools. Introducing `pyproject.toml` and `setup.py`.
- Installing a Python package from zip, GitHub, or PyPI
- Introduce a minimal GitHub Actions workflow file and pre-commits. 
- Introduce code quality tools for linting, formatting, type checking, and testing (pytest, black, mypy, ruff). We won't go into the details of each, but we will show how to run these tools in a automated fashion.

The truth about objects
(25 Minutes)
By: Naomi Ceder
Experience Level: Intermediate
Slides Link

“Everything in Python is an object.” This is a profound truth about Python, but what does it mean? Is literally EVERYTHING an object? And what is an object anyway? Are objects the same as instances of a class? How do classes and types really work in Python? And what do metaclasses have to do with anything?

In fact, the answers to these questions are probably not what you think they are - Python’s approach to objects is different from most other languages in sometimes surprising ways.

This talk will use simple live coded examples to explore how objects work in Python and clear up several common misconceptions and misunderstandings about how objects and instances, classes and types, and metaclasses all work together.

Be warned - you are likely to be surprised when you learn the truth about objects in Python.

44 Python enthusiasts attended this meeting.