25 Aug 2026

feedPlanet Python

Ed Crewe: From Routing Checks to Trajectory Testing: Evaluating an Agentic Chatbot

Which Agentic Chatbot?

I have been working on a Python based AI test framework for a chatbot interface for my company's product, Postgres AI Hybrid Manager. The manager allows the setup of Postgres clusters across cloud or on-prem and attaching various AI tools such as Langflow. So a combination of more traditional Postgres backup, migration, telemetry and analytics features along with LLM workflows leveraging the data it holds.

The product already has a control plane UI for managing Postgres estates. It also has full help for the product, all Postgres versions, analytics, AI and add ons. The chatbot brings all these things together: ask a question, get the relevant help, or ask it to do something such as migrate a cluster, or evaluate telemetry that would otherwise require clicking through the UI.

That makes it a pretty handy interface, especially for the less technical. However it is not simple to test and ensure good quality responses.

A normal deterministic API test is simple. Send a request, check the status code, check the JSON body, perhaps check the database state. An LLM-backed agent does not pass or fail so clearly. It can route to the wrong capability and still return fluent text. It can pick a plausible but wrong tool. It can miss half the task and still sound confident. It can complete the first turn of a conversation and lose the plot on the second. It could get malformed or missing data from tooling that leads it to deliver a misleading conclusion. It might only provide help to something that should be from tool data or was a request for an action such as create a cluster.

So the testing problem was not "does the chatbot return a reasonable response?" It was "how do we test the whole chat path is doing the right thing?"

This is the story of how our agent-eval test framework evolved as we worked to see that our chatbot was not only getting the right answer, 42 , but whether it was asking all the right questions of the right tools to get that answer. Known as trajectory testing ...


You're Golden

Before we can tell our story we need to define some terms.

A Golden is an example of a perfect desired output from a test input. They often refer to more complex outputs that may need saving as separate files, but a simple assertable output such as 42, is a golden too!
Whilst complex goldens may be used and marked for semantic similarity against the test output. It is more common for complex outputs to be described by a rubric. A rubric is a checklist of qualitative properties a good answer must exhibit, written in plain English as opposed to a golden example of an answer.

For AI testing the tests are termed evals, ie they evaluate the tool, but not by strict assertions, because one thing you can be sure of with an LLM is that given the same input, you usually get subtly different output, ie they are non-deterministic. Which means for LLM outputs the only way to test them is to use an LLM-as-judge, ie give that LLM the test output and a rubric or golden and let it mark it against that. Then you set a pass threshold for that mark, to translate your complex output into a pass or fail.

You can also total up all the passes to give you a Task Completion Rate, TCR. So with complex AI agentic LLM interactions a 100% pass of all evals is often not realistic. Hence you set a TCR below 100% for the whole test suite of evals to pass. Start with the smallest useful test. The core principle of evals is not complicated, you want the input to give you the expected output.

But for an Agentic application this may require a sequence of LLM calls and tools: Making the final output dependent on the route that should be chosen, the tool(s) that should be called, the actions to be taken, further LLM calls that may be necessary and finally the core data that the response to the user should contain.

Our first version did not try to solve every part of that. It started with routing, simple and deterministic.

Routing is the starting point

The chatbot originally had an agent per tool. The tool being the code and API calls that performed actions or returned data or help.

Different specialist agents owned different parts of the product surface: Control-plane actions, Postgres database operations, schema design, roles and permissions, cluster reporting, migration, and so on.

Before any specialist can help, something has to choose the right specialist.

So the first eval suite asked a narrow question:

Given this user prompt, did the chatbot route to the expected tool?

That gave us a fast health check. We could keep a corpus of prompts, map each one to an expected destination, run them through either a direct model path or against the real deployment and its tools, and score whether the selected destination tool matched the golden.

A golden here is just the name of the tool:
- id: "core-iam-001"
    prompt: "List all my projects"
    expected_tool: "control-plane"
    tags: ["core", "control-plane", "project"]

And the check on the other end is deliberately dumb - an equality test, not a semantic one:

self.success = tool_match(predicted_tool, expected_tool)

Agents became skills, but routing remained

The design moved away from "one agent per tool family" toward a more consolidated orchestrating agent with skills.

That is a better fit for how modern agent systems are evolving. A skill = instructions, constraints, and a subset of tools that are relevant for a task. It is a form of progressive disclosure. Give the model the minium it needs at each step to save tokens.

But this did not make routing irrelevant.

Instead of asking "did we transfer to the right sub-agent?", the eval asks "was the right skill made visible and selected for this task?" The labels changed but a skill could still use the wrong tool.

Routing evals stayed valuable because they were fast, explainable, and easy to run in CI. But they are limited, routing should always be correct but it doesn't mean that the final agent response is too.

TCR jumps to the endpoint, the response

Task Completion Rate, or TCR, was the next step.

The user asked for a cluster comparison, or a schema recommendation, or help diagnosing a database issue. We need to know whether the full response actually completed these tasks.

Responses are complex goldens so they need the LLM-as-a-judge pattern: run the chatbot, take the actual response, and ask a judge model to score it against expected sections.

The eval has a rubric here for judging the output:

- id: "tcr-core-014"
  prompt: "Compare CPU usage between these two clusters"
  expected_sections:
    - "identifies which cluster has higher CPU usage"
    - "cites at least one supporting metric"
    - "suggests a plausible next step"

The judge gets one simple instruction: score each expected_sections between 0.0-1.0 A metric class then just thresholds it for pass / fail:

self.success = score >= 0.7

The judge must be calibrated and a consistent model used for comparing runs over time. Consistent judging enables skill and/or prompt tuning from metric trends. The rubric must be specific enough to avoid marking waffle as success. But it turns a non-deterministic complex output into a simple pass and fail. It also separated two different levels of QA:

That led to two execution modes.

Direct mode calls the model with simulated context. It is faster and useful for prompt and rubric development.

Proxy mode calls the real chatbot. It is slower, but it exercises the production path: routing, skill selection, tool calls, guardrails, streaming responses, conversation state, and the actual service wiring.

Both matter. Direct mode tells you whether the model is capable of the answer. Proxy mode tells you whether your product is capable of really delivering it via agents running your deployment's tools.

This is the major difference from standard AI LLM testing, the model is only a small pluggable engine for the full agentic skill set that requires the actual deployment domain of data, actions and tools. Direct mode testing of only the model, is occasionally useful but E2E testing of the Chatbot deployment is required for agentic AI Chatbot QA, tuning and validation.

Multi-step conversations changed the unit of testing

Single-turn TCR is still too small for many real chatbot tasks.

Users do not always provide all required information in one message. They ask to create a cluster, then pick a project, then choose a size, then confirm. They ask for a schema review, then refine the problem, then ask for a migration path. They troubleshoot by adding information over time.

So the framework has to exercise test cases that are conversations, not just single prompts.

That sounds like a minor data-model change. It was not. Once a test has steps, the eval runner has to preserve conversation state. In proxy mode, that means carrying the real conversation_id returned by the chatbot and sending each follow-up as part of the same server-side conversation. In direct mode, it means building a synthetic conversation history so the model sees the prior turns.

In code that split is about as literal as it sounds. Proxy mode threads a real id through each call:

response = client.send_message(prompt=msg, conversation_id=conversation_id)
conversation_id = response.conversation_id  # captured on turn 1, reused after

Direct mode has no server-side conversation to lean on, so it fakes one by re-rendering the transcript into the prompt itself, every turn:

full_prompt = f"## Conversation History\n{render(history)}\n\n{next_prompt}"

Same test case, same expected outcome, but a different code path depending on which half of the system is actually holding the conversation state. That's impacts multi-turn evals because conversation memory is part of the harness code for the actual deployment not just a model issue.

The scoring also becomes more interesting. You want per-step checks, because the assistant should ask the right clarifying question at the right time. You also want an overall score, because a conversation can have reasonable individual turns and still fail to complete the user's goal.

Coding it yourself: deepeval underneath

Everything above sits on top of deepeval, the open-source LLM eval library. We add a Synthesize → Execute → Evaluate pipeline, a plugin system, YAML goldens, CI wiring, and Langfuse push on top of it But the core library underneath is plain deepeval, and you do not need any of the surrounding machinery we used. Here are routing, TCR and multi-step just built directly on deepeval (simplified deepeval 3.6.9)

A test case is just an input/output pair. LLMTestCase is the base unit everything else scores:

from deepeval.test_case import LLMTestCase

test_case = LLMTestCase(
    input="List all my projects",
    actual_output=chatbot_response_text,       # what the system under test said
    expected_output="control-plane",                  # the golden - a skill label here, not prose
    additional_metadata={"predicted_skill": predicted_skill},
)

Routing is a custom metric, not a built-in one. deepeval ships plenty of semantic metrics, but "did it route to the right skill" is an exact-match business rule, so you write your own BaseMetric. This is a simplified version of the same shape our real AgentMatch metric takes:

from deepeval.metrics import BaseMetric
from deepeval.test_case import LLMTestCase

class AgentMatch(BaseMetric):
    def __init__(self, threshold: float = 1.0):
        self.threshold = threshold
        self.async_mode = False  # routing checks are cheap; no need for async here

    def measure(self, test_case: LLMTestCase) -> float:
        predicted = test_case.additional_metadata["predicted_skill"]
        expected = test_case.expected_output
        self.score = 1.0 if tool_match(predicted, expected) else 0.0
        self.success = self.score >= self.threshold
        return self.score

    async def a_measure(self, test_case: LLMTestCase) -> float:
        return self.measure(test_case)

    def is_successful(self) -> bool:
        return bool(self.success)

    @property
    def __name__(self):
        return "Agent Match"

tool_match is the check from earlier. Run it with deepeval's own runner rather than hand-rolled assertions, and you get retries, pretty output, and a result object for free:

from deepeval import evaluate

evaluate(test_cases=[test_case], metrics=[AgentMatch()])

TCR is where deepeval's built-in GEval earns its keep. GEval is deepeval's off-the-shelf LLM-as-judge metric, you give it criteria (or explicit evaluation steps) and it handles the judge prompt, the JSON parsing, and the scoring for you. Our rubric-per-line expected_sections maps onto evaluation_steps almost directly:

from deepeval.metrics import GEval
from deepeval.test_case import LLMTestCase, LLMTestCaseParams

task_completion = GEval(
    name="TaskCompletion",
    evaluation_steps=[
        "Check whether the response identifies which cluster has higher CPU usage",
        "Check whether the response cites at least one supporting metric",
        "Check whether the response suggests a plausible next step",
    ],
    evaluation_params=[LLMTestCaseParams.INPUT, LLMTestCaseParams.ACTUAL_OUTPUT],
    threshold=0.7,
)

test_case = LLMTestCase(
    input="Compare CPU usage between these two clusters",
    actual_output=chatbot_response_text,
)

evaluate(test_cases=[test_case], metrics=[task_completion])

Multi-step conversations get their own test case type. ConversationalTestCase takes a list of Turns instead of a single input/output pair, and pairs with a BaseConversationalMetric instead of BaseMetric:

from deepeval.test_case import ConversationalTestCase, Turn

convo = ConversationalTestCase(
    turns=[
        Turn(role="user", content="Create a new cluster"),
        Turn(role="assistant", content="Sure - which project should it go in?"),
        Turn(role="user", content="acme-prod"),
        Turn(role="assistant", content=final_response_text),
    ],
    expected_outcome="A cluster is created in acme-prod after resolving the missing project name",
)

deepeval has a conversational counterpart to GEval too (ConversationalGEval), scored against the whole turn sequence rather than a single response which is the natural fit for "did the assistant ask the right clarifying question at the right time", the per-step-plus-overall shape TCR needed once prompts became conversations.

Put together, that is the whole starting kit: LLMTestCase plus a hand-written BaseMetric for hard business rules like routing, GEval for rubric-style task completion, ConversationalTestCase plus ConversationalGEval once a prompt becomes a conversation, and evaluate() to run the lot and get a result object back.

Everything else we built, the YAML goldens, the plugin architecture, the CI wiring, the Langfuse push exists to run more of these at scale and make the failures easy to find. But none of it is required to get started. If you are testing your own agentic chatbot, this is how to begin.

This is where instrumentation started to matter much more.

For a single-turn answer, a markdown report with pass/fail rows is often enough to start debugging. For multi-step conversations, that is thin. You need to know which turn failed, whether the route changed, whether the wrong tool was called, whether the tool call used correct arguments, whether the model forgot earlier context, or whether the final answer simply missed a required section.

That is why we added span-level telemetry and pushed eval traces into Langfuse.

Langfuse made the failures inspectable

The useful thing about Langfuse is not just having another pretty dashboard. Although that is important for spotting quality regressions over time via regular CI/CD automated runs.

The vital thing was being able to treat an eval run as a set of traces. A run becomes a session. Each test case becomes a trace. The trace carries the prompt, response, scores, tags, model, mode, scenario, and the spans emitted by the proxy.

For a chatbot path, those spans are where the debugging starts. You can see routing, tool execution, LLM calls, latency, and token usage where it is available. You can filter by scenario and model. You can compare runs. You can look at a failing conversation and see whether the problem began at route selection, tool selection, tool arguments, or final synthesis.

That changes the tuning loop.



Without traces, an eval failure says "this case failed". With traces, it can say why it failed.

That distinction matters because the fix lands in different places...
Is it a routing rule?
Is it a skill description?
Is it a tool schema?
Is it the judge rubric?
Is it that the eval has has an expectation that the product has never actually promised?

Trajectory testing -> knitted the pieces together

Routing and TCR started as separate signals.

Routing asked whether the right capability was selected. TCR asked whether the final task was completed. Multi-step testing asked whether that held across a conversation. Instrumentation showed what happened between those points.

Trajectory testing is the next natural step: score the path itself.

For an agentic product, the fully correct path is essential to response quality.
So trajectory tests add expectations about intermediate actions:

The label-based routing tests are still useful as fast canaries. They tell us whether the classifier shape has drifted and distinguish tiers - see the next section.
But full trajectory tests judge the route by consequence: did the system actually follow the tool path that would satisfy the user?

So retain the fast determisitc routing tests, but move more user-visible behavioural coverage into trajectory and TCR.

Sovereign AI makes the eval problem tiered S/M/L/XL

There is one more constraint that makes this more than a generic chatbot-testing story.

Our chatbot has to work for sovereign and air-gapped deployments. In those environments, prompts, tool results, schema details, and operational data cannot be sent to a hosted frontier model outside the customer's trust boundary. The inference model may run inside the customer's environment.

That usually means a smaller model.

Smaller models are not just cheaper versions of larger ones. They have different context limits, weaker tool-selection behaviour, and less tolerance for an over-wide capability surface. If you show a smaller model every possible tool and skill, you have increased the chance that it chooses a bad one.

So the architecture becomes tiered. Models are effectively T-shirt sized. A small self-hosted model sees a curated subset of reliable skills. A larger model can be allowed to see more. Some experimental or complex skills only make sense for the highest tiers.

That changes the meaning of a routing eval again.

The correct visible skill set is no longer universal. It depends on the model tier. A prompt that should route to an advanced skill for an XL model may need to be dropped, refused, or handled differently for a smaller model that should not see that skill at all.

This is why trajectory testing and routing need to be tier-aware. We are not only asking whether the chatbot can complete a task. We are asking whether it can complete the task through the capability surface that a deployment's LLM size allows.

What I would keep from the journey

The final shape was not obvious at the start.

We began with routing because it was the first integration failure point and the cheapest one to isolate. We added TCR because correct routing did not prove task completion. We added multi-step cases because real users have conversations, not isolated prompts. We added telemetry because multi-step failures are otherwise too hard to debug. We moved toward trajectory testing because the route, tools, arguments, and answer need to be judged as one path.

If I were starting another agentic product eval framework, I would keep that order.

Do not start by trying to build a grand universal benchmark. Start with the smallest failure point that would embarrass the product if it regressed. Then move the signal closer to the user's actual goal.

For a chatbot wired into a real control plane, that means testing more than the output text. It means testing the route, the skill, the tool call, the arguments, the conversation state, the final answer, and the model tier that made those options visible in the first place.

That is the difference between checking that an AI system said something vaguely relevant and checking that it actually did all the things the user asked of it.

25 Aug 2026 12:58pm GMT

Mike C. Fletcher: OpenGL Extrusions (and Tessellation)

I've released a new library opengl_extrusions which is a Numpy and Cython library that does 3D extrusions (like the GLE library) and tessellations (one of the things the GLU library does). The motivation being that the GLE library is constrained to compatibility contexts (think "legacy OpenGL"), so it doesn't work under modern core-profile contexts. The library has a very different API from GLE, but it does the same jobs, and has a conformance suite that verifies that it creates the same final shapes for a given input, albeit with a (hopefully cleaner) API. With the new API you get back a structure that looks exactly like what you use to construct a glTF object, arrays of points and index pointers.

Tessellation is handled with the CDT algorithm, which is not what GLU's tessellator uses. GLU is deprecated on some platforms (Mac), so we'll eventually need to move off it. This is just one piece of doing that, but it's a useful piece. CDT's biggest advantage is that it can avoid long spiky triangles that tend to cause rendering artefacts.

The library is entirely LLM coded, though I've tweaked docs here and there.

25 Aug 2026 11:34am GMT

Python Software Foundation: Agata Skamruk: 2026 PSF Board Election Candidate Interview

Who are you?

Hi! My name is Agata Skamruk, and I've been deeply involved in the Polish and international tech community for years. Based in Gdańsk, I combine my passion for programming with education, IT event organizing, and fostering an open, inclusive environment for developers.

What I Do:

I bridge the gap between software development, technical education, and diversity advocacy for women in tech.

What would you bring to the PSF Board of Directors?

Running for the Python Software Foundation Board of Directors, my focus centers on strengthening community accessibility, expanding technical education, and building sustainable, diverse local ecosystems globally.

Core Qualifications & Vision:

What motivated you to run for the PSF Board of Directors?

I would like to collaborate in these groups because they combine all the key areas to which I have dedicated my energy within the local and global Python community for years.

Working in the Code of Conduct and Diversity and Inclusion groups allows me to ensure safety, openness, and equal opportunities for everyone, which is the foundation of a healthy community.

At the same time, engaging in Education & Outreach and Grants gives me the opportunity to directly support education, share my teaching experience on a broader scale, and strategically back initiatives and local leaders through financial support.

Acting across these structures is a chance for me to comprehensively develop the Python ecosystem-from attracting and educating new talents and maintaining high ethical standards, to having a real impact on how the community grows worldwide.

What problem or challenge do you want to address if you are on the board?

The Challenge: Gender Imbalance at Python Conferences
The low representation of women among speakers and attendees remains a critical issue. This stems from a high barrier to entry, a lack of visible role models, and the vicious cycle of low CfP submissions from women, which reinforces the perception of a male-dominated field.

My Commitment on the PSF Board
Leveraging my experience leading PyLadies Poland and Women in Technology, I will actively drive changes to solve this:

By breaking down entry barriers and establishing plug-and-play safety tools, I will help ensure our stage representation reflects the true diversity of our global ecosystem.

Where do you see the PSF 5 years from now?

Consistent implementation of anti-discrimination procedures and diversity systems will drive a profound transformation. Here is how I see the role of the PSF and the future of our community over the next five years:

What areas of the Python community are you involved with?

Here is an overview of my key areas of involvement, leadership, and community-building within the Python ecosystem:

National Leadership & Governance

Conferences & Major Events

Diversity, Inclusion & Local Chapter Building

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 9:00am GMT

Python Software Foundation: Benjamin Manning: 2026 PSF Board Election Candidate Interview

Who are you?

I'm Benjamin Manning, an engineer, educator, researcher, and lifelong learner who has spent much of my career working at the intersection of technology and people. I've worked across industry and higher education, building systems, teaching students, conducting research, and helping people become more confident using technologies that initially seemed out of reach.

Python has been a constant thread through much of that work. I've used it in data science, machine learning, artificial intelligence, engineering, research, and education, but some of my most meaningful experiences with Python have come from teaching and mentoring others. I enjoy watching the moment when someone stops seeing programming as something reserved for "programmers" and starts seeing it as a tool they can use to solve their own problems.

Today, my work spans AI, engineering, cybersecurity, and education. Across those areas, I remain particularly interested in how we build technical communities that are welcoming to newcomers, valuable to experienced practitioners, and sustainable for the people who contribute their time and expertise to them.

What would you bring to the PSF Board of Directors?

I would bring a perspective shaped by working across several communities that increasingly depend on Python but don't always think of themselves as part of the Python community. I've worked in higher education, engineering, artificial intelligence, cybersecurity, research, and large organizations, and I've seen Python serve as a common language connecting people with very different backgrounds and goals.

I also bring an educator's perspective. Teaching has taught me that access to a technology is not the same thing as feeling that you belong in the community surrounding it. Documentation, mentorship, community norms, educational resources, and opportunities to contribute can matter just as much as the technology itself.

On the Board, I would bring curiosity, a willingness to listen, and experience translating between technical and nontechnical communities. I don't believe a board member needs to arrive with all the answers. I believe the job is to ask good questions, understand the people affected by decisions, and help create conditions in which the community can succeed.

What motivated you to run for the PSF Board of Directors?

Python has given me far more than a programming language. It has been a tool for teaching, research, experimentation, engineering, and building ideas that otherwise might never have made it beyond a whiteboard. More importantly, it has introduced millions of people to the idea that programming can be approachable.

At this point in my career, I'm increasingly interested in contributing to the institutions and communities that make those opportunities possible. The Python Software Foundation plays an unusual role because it supports not only a programming language, but an enormous global ecosystem of developers, educators, researchers, maintainers, students, companies, and community organizers.

That creates both an opportunity and a responsibility.

I decided to run because I believe my experience across education, industry, research, and emerging technologies could be useful as Python enters its next chapter. I'm not running because I think the community needs to be reinvented. I'm running because I would like to help strengthen what already makes Python remarkable while helping the PSF prepare thoughtfully for what comes next.

What problem or challenge do you want to address if you are on the board?

One challenge I care deeply about is closing the distance between using Python and participating in the Python community.

There are millions of people who use Python in classrooms, research labs, businesses, engineering teams, notebooks, and personal projects who may never think of themselves as members of the Python community. The path from "I use Python" to "I contribute to Python" can feel surprisingly unclear. Contribution also means much more than writing code. Communities need educators, mentors, documentation writers, organizers, reviewers, translators, researchers, and people willing to help newcomers find their footing.

I would like to explore how the PSF can make those pathways more visible and approachable while continuing to support the contributors and maintainers who already carry enormous responsibility within the ecosystem.

For me, growth isn't simply about having more Python users. Python already has extraordinary reach. The more interesting question is how we turn some portion of that enormous population into people who feel ownership, responsibility, and belonging within the community that makes Python possible.

Where do you see the PSF 5 years from now?

Five years from now, I hope the PSF is recognized as strongly for sustaining the people behind Python as it is for supporting the language itself.

Python will almost certainly remain foundational across software development, science, engineering, education, data, and artificial intelligence. At the same time, the way people interact with programming is changing rapidly. AI-assisted development, new educational models, increasingly complex software supply chains, and the continued growth of open source will create challenges that we cannot fully predict today.

I don't think the PSF needs to chase every technological trend. In fact, one of its strengths should be providing continuity while the technology around Python changes.

I would like to see a PSF that continues strengthening the foundations of the ecosystem: sustainable open-source communities, healthy contributor pipelines, strong educational resources, global participation, responsible governance, and support for maintainers. If we do those things well, Python can continue evolving without losing the openness and community spirit that helped make it successful in the first place.

What areas of the Python community are you involved with?

Most of my involvement with Python has grown out of education, research, engineering, data science, and artificial intelligence. I've used Python professionally for years, but I've also spent a significant amount of time teaching and mentoring people who are learning to use it in their own disciplines.

That distinction matters to me because many Python users don't begin with the goal of becoming software developers. They may be engineers analyzing data, researchers testing an idea, students encountering programming for the first time, cybersecurity professionals automating a task, or scientists building a model. Python often becomes the bridge between their domain expertise and their ability to create something new.

My community involvement therefore tends to center on helping people cross that bridge: teaching, mentoring, developing educational resources, sharing technical knowledge, and encouraging people to experiment and build.

I'm also increasingly interested in the relationship between Python and the rapidly evolving AI ecosystem. Python has become one of the primary languages through which people encounter AI, which gives our community an important role in shaping how the next generation learns to build with these technologies.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:59am GMT

Python Software Foundation: Calvin Tsang: 2026 PSF Board Election Candidate Interview

Who are you?

I am Calvin Tsang, Vice President of Open Source Hong Kong (OSHK) and Conference Chair of PyCon Hong Kong 2026. I have contributed to open-source communities since 2013 and have helped organize PyCon Hong Kong since 2015.

My community journey has grown from outreach and participation into nonprofit leadership, conference management, sponsorship, volunteer development, partnerships, and community operations. Through PyCon Hong Kong, OSHK, and the Hong Kong Python community, I have worked to connect developers, students, speakers, volunteers, companies, and open-source contributors.

Communication is also an important part of my community work. I have hosted a local IT podcast for over 20 years, sharing technology discussions and connecting people interested in IT. Professionally, I am a Technology Manager with experience in enterprise technology and technical governance.

Outside technology, CrossFit and regular workouts help me maintain the resilience and endurance needed for long-term community leadership.

My work increasingly extends across Asia-Pacific, and I hope to strengthen connections between regional Python communities and the PSF while contributing to a more connected and sustainable global Python ecosystem.

What would you bring to the PSF Board of Directors?

I would bring more than a decade of experience in open-source community leadership, event organization, and cross-border collaboration, together with trusted relationships across the Asian Python and open-source communities.

Through Open Source Hong Kong (OSHK), I have helped organize more than 100 events covering Python, Open Data, IoT, cloud-native technologies, and other open-source technologies. I have also helped connect Hong Kong with international OSS communities through speakers, partnerships, and continuous knowledge exchange.

I communicate in Chinese, English, and Japanese. In recent years, I have engaged with Python communities in Taiwan, Japan, India, Korea, the Philippines, Indonesia, Singapore, and Malaysia. Through years of participation and collaboration, I have built trusted relationships with organizers and contributors across the region. This network can strengthen communication with local communities, help understand their needs and challenges, and bring regional perspectives to the PSF Board.

As a Technology Manager, my enterprise experience and open-source journey also bring practical perspectives on technology governance, budget planning, and risk management.
I hope to serve as a practical bridge that strengthens communication, understanding, and long-term collaboration between the PSF and Python communities across Asia.

What motivated you to run for the PSF Board of Directors?

I am motivated to run for the PSF Board because, after more than a decade of contributing to local and regional open-source communities, I want to bring that experience to the governance and strategic level at the global scale.

Through PyCon Hong Kong, COSCUP, Python Asia, and my engagement with communities across Asia, I have seen how much different local needs can be. Communities vary in maturity, resources, sponsorship, governance, volunteer capacity, and international visibility.

I decided to stand for the PSF Board because my geographic position, multilingual communication skills, and established regional relationships give me a distinctive ability to connect Python and open-source communities across East and Southeast Asia, a region representing roughly two billion people.

I believe this experience can help the PSF better understand regional realities while contributing to strategic discussions around community sustainability, governance, funding, security, and long-term ecosystem development.

For me, serving on the Board is a natural next step: moving from organizing communities to contributing to the structures and strategic direction that support Python globally.

What problem or challenge do you want to address if you are on the Board?

I want to address the challenge of helping local Python communities become financially and operationally sustainable, rather than depending only on one-time funding.
Different communities face different conditions. Some need support for venues or events, while others need help with sponsorship, volunteer development, governance, or building relationships with local industry. I believe effective support starts with understanding the needs and maturity of each community, then directing resources toward activities that can create sustainable growth.

My experience in nonprofit operations, sponsorship, budgeting, and risk management gives me a practical perspective on this challenge. I have also reviewed the Call for Sponsorship document for another PyCon, sharing fundraising and enterprise-engagement experience to help strengthen its sponsorship approach.

I think of this as going beyond simply providing a fish: we should also help communities develop the skills, relationships, and operating models that allow them to continue growing independently.

I can also contribute through my industrial, career-development, and design experiences to areas such as the Python Job Board and Trademarks Work Group, supporting the wider PSF community ecosystem.

Where do you see the PSF 5 years from now?

In five years, I hope the PSF will play an important role in helping the Python community navigate the opportunities and challenges created by Generative AI.

I see Generative AI as an amplifier of human capability, not a replacement for strong engineering foundations. As it significantly improves development productivity, Python implementations, tools, and libraries may evolve more rapidly. However, as the volume and speed of contributions increase, human review may become a bottleneck. The Python ecosystem should explore appropriate automation to support maintainers with routine review and administrative tasks while keeping important technical and governance decisions under responsible human supervision.

Security will also become increasingly important. More AI-assisted code and packages may increase the workload for vulnerability detection, dependency review, code scanning, and software supply-chain security. The PSF can help strengthen the ecosystem by supporting security tooling, automation, governance practices, and maintainers.

I hope the PSF can help ensure that increased productivity does not come at the cost of quality, security, or trust, while keeping Python relevant, secure, and strongly community-driven throughout the Generative AI era.

What areas of the Python community are you involved with?

I am primarily involved in the Hong Kong Python community, PyCon organization, regional collaboration, project management, career development, and external engagement.

I have supported PyCon Hong Kong since 2015, taking on different responsibilities as the conference has grown. My strengths are in project management and coordination: bringing volunteers together, working with external organizations, developing partnerships, and helping teams turn ideas into deliverables.

I have also supported the PyCon Hong Kong Design Team for several years. At times, I work directly on design-related tasks and help coordinate conference materials. This experience has given me a practical understanding of trademark requirements, brand guidelines, and consistent use of Python and PyCon identities.

In 2025, I helped establish PyLadies Hong Kong. Beyond Hong Kong, I volunteer with the Python Asia Organization and engage with Python communities across Asia.

I also support mentoring within the Python community, helping volunteers and community members develop their skills, take on responsibilities, and grow into future contributors and organizers. I believe mentoring and career development are important for sustaining and growing local Python communities over the long term.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:59am GMT

Python Software Foundation: Cecília Tivir: 2026 PSF Board Election Candidate Interview

Who are you?

I am Cecília Tivir, a Mozambican researcher in Artificial Intelligence applied to education, an educator, and an open-source community organizer. Throughout my career in technology, I have worked to build inclusive spaces for women and underrepresented groups; I co-founded the Mozambican Association of Women in Technology (Wansati Lab), organized Django Girls workshops across various Mozambican cities, co-founded the Python Mozambique community, and co-founded the PyLadies chapters in Maputo and Beira. My connection to the Python community began in 2016 when I met the PyLadies Porto Alegre group in Brazil. It was an experience that inspired me to bring Django Girls to Mozambique as a welcoming entry point into programming. Since then, I have been connecting the regional community to the global ecosystem by participating in and volunteering for PyCon Africa and contributing to PyLadies Global.

What would you bring to the PSF Board of Directors?

I bring the direct perspective of someone who organizes communities at the grassroots level in emerging regions, such as Africa and Portuguese-speaking countries. I do not come with years of experience in the foundation's financial or operational governance, and I fully acknowledge that. What I do bring is concrete field experience, a practical understanding of the barriers hindering the sustainable growth of the Python ecosystem outside major hubs, whether due to event application bureaucracy, a lack of translated materials, or an absence of localized mentorship. This experience, combined with my background in research and education, allows me to offer the board a perspective that complements those with internal management experience, helping the foundation turn goals of inclusion and representation into processes that truly work for local organizers.

What motivated you to run for the PSF Board of Directors?

What motivated me to run was realizing that the sustainable growth of emerging ecosystems, particularly in Africa and CPLP nations, requires dedicated governance, intentional representation, and direct access to resources. After years of organizing the community, seeing firsthand the efforts and limitations of those who lead locally, I understood that it was time to bring these regional voices into the foundation's decision-making process, and not just continue asking the foundation to listen to us from the outside.

What problem or challenge do you want to address if you are on the board?

The issue I aim to address if elected to the board is the barrier to access and participation faced by organizers and educators in emerging regions. This translates into three concrete areas of action. First, simplifying application procedures to reduce the administrative friction encountered by community leaders organizing local PyCons, meetups, and PyLadies or Django Girls gatherings in Africa and other emerging regions. Second, fostering cross-border collaboration among chapters in Portuguese-speaking countries and across Africa through shared educational materials, translation initiatives, and localized mentorship frameworks. Third, expanding PSF and PyLadies mentorship structures to equip local community leaders with practical handbooks covering legal, financial, and operational aspects, thereby ensuring the long-term stability of these chapters.

Where do you see the PSF 5 years from now?

Over the next five years, I envision the PSF making concrete progress toward the goals the council itself has already put up for public discussion-particularly regarding regional community self-sufficiency and integrating inclusion into every decision rather than treating it as a standalone project. The foundation's strategic plan emphasizes strengthening partnerships with community groups across the open-source ecosystem and supporting Python communities in building their own capacity through collaboration and shared resources. This is precisely where I want to contribute. I envision a PSF that translates these goals into tangible processes for organizers-whether they are running a Django Girls event in Maputo or a PyLadies meetup in Beira-by offering streamlined applications, translated materials, and structured mentorship. At the same time, the PSF would responsibly sustain critical Python infrastructure like PyPI and CPython, ensuring these efforts align with the foundation's actual funding and staffing capabilities. I see a PSF that is more transparent in its decision-making and fosters stronger connections between regional communities and central governance, ensuring that language and geographic distance no longer act as barriers to contributing to or leading in the open-source world.

What areas of the Python community are you involved with?

I am primarily involved with the PyLadies community, serving as a co-founder of the Maputo chapter and a mentor for the Beira chapter. I am also active in PyCon Africa, having participated as both a volunteer and a speaker. I have been a regular volunteer for PyLadiesCon since 2023 and co-organize workshops for beginners in Python, Data Science, and AI. I was honored with the Outstanding PyLady award in 2025 and have been an individual member of the Django Software Foundation since 2024, reflecting my ongoing commitment to education, diversity, and community organizing within and around the Python ecosystem.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:58am GMT

Python Software Foundation: Christopher Neugebauer: 2026 PSF Board Election Candidate Interview

Who are you?

I'm an Australian software engineer, currently living in Petaluma, in the San Francisco Bay Area in California. I'm a long-time user and advocate of Python, I currently work as a Senior Software Engineer.

What would you bring to the PSF Board of Directors?

This would be my third term on the board - I previously served from 2018-2021, and my second term started in 2023. In that time, I've been an advocate for growing, re-establishing, and re-growing the Grants program. I want to see the Grants program get back to full strength, but in a way that is sustainable for the long term. Our global community has come to rely on the PSF as a partner over the years, and the unpredictability of the grants program has been unfortunate. I've also got experience as a US-based conference organiser, and I want to continue stewarding PyCon US, so that it can return to being a contributor to the PSF's finances, rather than a break-even prospect.

I'm also the current board's go-to person for working on the administrative side of the Foundation, I understand our by-laws like the back of my hand (after amending them a number of times over the last few years), and help the board understand how to do the important work of uplifting the global Python community while still fulfilling the obligations of being a US-based non-profit.

What motivated you to run for the PSF Board of Directors?

I'm excited to continue the work I've been doing for the last few years, and want to continue serving as a source of institutional memory for the board. I'm also super excited to have adopted the foundation's 5-year Strategic Plan, and I want to be able to help the foundation put the new plan into effect. I want us to have a sustainable financial backing that lets us make the best decisions we can for a global community. independent of corporate or government influence. Python has done a great job of being in the right place at the right time over decades, and often that means taking a longer term view. I want us to continue being able to do that!

What areas of the Python community are you involved with?

I've been involved in the Python community in a number of countries for the last couple of decades. I ran PyCon Australia for a couple of years, and when I moved over to the US, I started the North Bay Python conference, here in Petaluma. I'm also a long-term volunteer at PyCon US - I helped run the lightning talks this year and last. Most of my volunteer time these days is spent on the board: it's a job that demands a lot of time, and I try to do that job well. You might also have seen me speaking at various Python conferences throughout the world.

------

Note from the election administrators:

Want to learn more about this candidate? Check out their nomination statement.

25 Aug 2026 8:58am GMT

Python Software Foundation: Ee Durbin: 2026 PSF Board Election Candidate Interview

Who are you?

Hi, I'm Ee Durbin. I am a volunteer PyPI Administrator, contributor to the PSF Infrastructure, PSF Fellow, past PSF Staff member, and Previous PyCon US Chair. I live in Philadelphia and volunteer with Philly Bike Action to advocate for safer cycling infrastructure. I'm currently working on open-source high performance developer tooling on the Astral team, which recently joined OpenAI.

What would you bring to the PSF Board of Directors?

Throughout the past thirteen years, I have taken on many roles and responsibilities across the PSF and have an appreciation for the way that the foundation and community interact from many perspectives. I hope to bring my understanding of the foundation's operations as well as its past challenges to service on the board.

What motivated you to run for the PSF Board of Directors?

I'm motivated to run for the board because I have attended _most_ board meetings from 2018-2025 and have interacted with the board in many ways as both a volunteer, staff member, and friend. I see the impact that the board can have to grow and sustain the organization. The Python community and PSF are important to me, and I want to contribute in ways that create new growth and sustainability.

What problem or challenge do you want to address if you are on the board?

The PSF has done a lot to meet the challenges of the past six years, specifically as it relates to the impact on PyCon US of increased contract costs and geopolitics. At the same time, immense shifts in the landscape of software security and the rise of LLMs have created new opportunities and challenges for the organization. Seeing these challenges through and coming out of them as a foundation that is durable to inevitable new challenges is a priority in my eyes.

Where do you see the PSF 5 years from now?

Pie in the sky, I dream of a PSF that is ever increasingly community focused and community supported. It is impossible to say what will come of the next 5 years, but I have much more certainty in the community who make up the PSF. I would like to see the PSF's core financial sustainability based on membership and individual donations, solidifying the organization's track record of accountability to the community above all else.

What areas of the Python community are you involved with?

My main involvement as of late has primarily been as a volunteer PyPI admin and I am focusing more recently on contributions to Python packaging tools and standards.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:57am GMT

Python Software Foundation: Elaine Wong: 2026 PSF Board Election Candidate Interview

Who are you?

Hello, I'm Elaine! A Canadian who likes solving problems, building things, and bringing people together.

I grew up tinkering with computers, but I spent the majority of my career in journalism, doing everything from interviewing guests to directing live TV news programs. My journey into Python began in 2016 thanks to a PyLadies Travel Grant and someone telling me that Python could do magical things with Natural Language Processing.

Since then, I've been an active volunteer in the Python community. I've helped run local meetups like PyLadies and Python Toronto, organized regional events like PyCon Canada, and taught beginner-friendly intro to coding workshops through The Carpentries and NICAR to help folks from non-traditional backgrounds get into coding. Recently, you may have seen me serving as Chair of PyCon US, which gave me firsthand experience working closely with PSF staff, volunteers, sponsors, speakers, and community members across the entire ecosystem.

What would you bring to the PSF Board of Directors?

I bring a fresh perspective alongside more than a decade of community organizing experience, practical knowledge of how the PSF operates, and a viewpoint that bridges community, governance, operations, and technology.

During my time as PyCon US Chair, I learned a lot about how this non-profit works, where volunteers struggle, and how seemingly small organizational decisions can have huge consequences for the people doing the work. My journalism background also shapes how I approach governance: true transparency means explaining why decisions are made, not simply announcing what was decided. I'll bring curiosity, clear communication, thoughtful problem-solving, and a commitment to asking how choices affect our broader community before we make them.

What motivated you to run for the PSF Board of Directors?

I'm running because I believe Python's future depends on investing in people as seriously as we invest in infrastructure. I want to help build a PSF that supports its volunteers, strengthens regional communities, communicates clearly, uses its resources responsibly, and makes it easy for someone discovering Python today to become a contributor or community leader tomorrow.

What problem or challenge do you want to address if you are on the board?

One major challenge I want to address is the sustainability of our volunteer-driven community.

Python benefits from an extraordinary amount of volunteer energy, but passion isn't an infinite resource. Too often, critical knowledge lives with a small number of people, experienced organizers burn out, and new volunteers face unclear pathways into leadership.

I want the PSF to make community work easier rather than adding to its burden. That means:

Having spent years in the trenches as a volunteer, I understand both how rewarding this work is and how exhausting it can get. We need systems that allow people to contribute sustainably and hand off their work smoothly to the next generation of leaders.

Where do you see the PSF 5 years from now?

In five years, I see the PSF as a more sustainable, globally connected organization that continues to support Python as both critical technical infrastructure and an extraordinary human community.

I want regional Python communities everywhere to have access to resources, mentorship, funding guidance, and shared knowledge without needing to reinvent the wheel. I want contributors to see clear pathways from learning Python to contributing, speaking, mentoring, organizing, and leading.

I also want PyCon US to remain a financially sustainable, community-driven flagship conference while the PSF continues expanding investments in Python communities beyond the United States. Most importantly, I hope we preserve what made Python special in the first place: a truly welcoming community where someone can arrive from an unconventional background, find people eager to welcome and teach them, and eventually pass that experience on to someone else.

What areas of the Python community are you involved with?

My involvement spans conference organizing, global community building, local events, AV support, and education:

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:57am GMT

Python Software Foundation: Georgi Ker: 2026 PSF Board Election Candidate Interview

Who are you?

Hi, I'm Georgi, an independent entrepreneur, open source community organiser, and leader. I'm also a PSF Fellow and a recipient of the PSF Community Service Award.

Although I currently live in Amsterdam, I am proud to represent communities across Asia. I have served on the PSF Board since 2023. I also helped design PyCon US branding and websites since 2022 and for other open source community events and projects as well.

My contributions to the Python community span over many years, beginning mainly in Asia and becoming more international over time. Much of my work sits where people, governance, and community meet.

I care especially about the people doing the quiet work that keeps open source communities alive. They may not always be on the main stage, but the community would not exist without them.

What would you bring to the PSF Board of Directors?

Three years on the Board have taught me where the PSF is strong, where it is fragile, and where good intentions are not becoming results.

As a former Treasurer, I raised concerns about the lack of a clear financial runway and pushed for stronger budgeting and regular financial planning. Through the Executive Committee, I have also participated in staff discussions, document reviews, difficult organisational decisions, and helped finalize the PSF's long-delayed strategic planning process with the board.

My perspective is also strongly shaped by communities around the world. The work began from Asia and now includes PyLadiesCon, EuroPython, and regular discussions with global community leaders through the PSF Diversity and Inclusion Workgroup. Global representation at the PSF has improved, but it still remains incomplete.

I would bring institutional knowledge, experience in financial oversight and a global community perspective. And yes, I am willing to do the unglamorous work.

I know more now than when I joined. I know what I am signing up for and how much work remains.

What motivated you to run for the PSF Board of Directors?

I am running because the past three years have shown me much more clearly what the PSF needs next. I've seen where the Foundation works well. I've also seen outdated financial assumptions, limited organisational capacity, unclear responsibilities, and decisions that could not be implemented because the necessary systems or that expertise were missing.

These are not exciting campaign topics but unfortunately, they matter.

Python is now part of the world's infrastructure. Companies, governments, researchers, schools, and millions of developers depend on it. The organisation responsible for protecting Python must be able to plan beyond the next conference or sponsorship cycle.

I would like to continue helping the PSF build a more realistic base, improve its financial planning, strengthen its internal systems, and communicate more honestly with the community.

The next few years matter. That is why I am running again.

What problem or challenge do you want to address if you are on the Board?

The problem I most want to address is the PSF's financial sustainability.

For years, PyCon US was a reliable source of income for the Foundation. After COVID, the economics and risks of large conferences changed. PyCon US should remain an important community event, but one conference should not be expected to carry the financial future of the organisation protecting Python.

The PSF needs realistic budgets and financial projections. The Board needs to understand the Foundation's runway, commitments, risks, and future operating costs. Hope is useful in open source but less useful in accounting.

We also need to build sponsorship around Python itself. Companies benefit from Python every day, not only when their logo appears at a conference. Their support should help fund Python's infrastructure, security, legal protection, trademarks, and global community.

This requires a serious review of the PSF's business model. It also requires the right staff capacity and expertise to turn Board decisions into results.

I would like the PSF to professionalise the support around the community without professionalising the community out of Python. That distinction really matters. Volunteers and local organisers are not a cheap workforce. They are the reason Python has a community in the first place.

Where do you see the PSF 5 years from now?

In five years, I would like to see the PSF be an organisation that plans with evidence instead of habit.

The PSF should be better equipped to protect Python's trademarks, copyright, infrastructure, and identity. As Python becomes more important, this will require greater legal, financial, security, and organisational expertise. Goodwill alone cannot do all that work.

It should have a clear financial runway, realistic budgets, and dependable sources of income. PyCon US should continue bringing people together, but its financial performance should not decide whether the Foundation can support Python properly.

I would also like a more transparent PSF. The community should understand what the Board is working on, what the Foundation can afford, why major decisions were made, and what progress followed.

Finally, the PSF should remain global and human. It should develop new leaders, support communities outside North America and Europe, and recognise capable people who may not be famous conference speakers. In fact, the board should consider reserving a few board seats for appointed directors with expertise that the Foundation needs.

The PSF should become more professional in how it operates without becoming corporate in how it treats people. Python's community is not a side project. It is one of its greatest strengths and part of its unique model.

What areas of the Python community are you involved with?

I have served on the PSF Board since 2023, including as Treasurer and currently as Vice Chair.

I currently chair the PSF Diversity and Inclusion Workgroup. I am also one of the organisers of PyLadiesCon and a member of the EuroPython Code of Conduct team. My earlier involvement included PyCon Thailand, PyCon APAC, founding PyLadies Bangkok, and other regional communities. I am also involved with the podcast PyPodcats featuring underrepresented Pythonistas.

Apart from that, I am developing Open Community Leadership through the fellowship with the Sovereign Tech Agency. The project focuses on mentorship, succession planning, sustainability, and helping communities prepare their next generation of leaders.

------

Note from the election administrators:

Want to learn more about this candidate? Check out their nomination statement.

25 Aug 2026 8:56am GMT

Python Software Foundation: Jeremy Tanner: 2026 PSF Board Election Candidate Interview

Who are you?

I'm Jeremy Tanner, an organizer, speaker, sponsor, Python developer, and community member. I'm based in North America, though many of my favorite people, places, and events are not. I've spent much of my career in the open Python ecosystem; packaging infrastructure, developer tooling, and the supply chains that get Python into the hands of pythonistas building everything imaginable. I believe the Python community should look like the world, not just the English-speaking, North American corner of it, and that sustainable finances are what make that vision achievable. I'm running for the PSF Board to do both: raise sustainable funds and resources, and make sure they reach everywhere.

What would you bring to the PSF Board of Directors?

Sponsorship for Python Foundations, Events, Organizations: I have direct experience securing corporate partnerships and sponsorships for the Python ecosystem, including navigating the internal processes of large companies to provide support to open source projects, infrastructure, and community gatherings. I've been on the organizing side as well, responsible for fundraising, programming, and attendee experience.

What motivated you to run for the PSF Board of Directors?

I wouldn't be here if it weren't for Python.

The PSF is the organizational backbone of the most important programming language in the world, and it is perpetually underfunded relative to its mission. Companies and the community benefit enormously from the PSF's work sustaining PyPI, funding sprints, and keeping the ecosystem healthy. Many are interested and capable of supporting further, but unsure how. I want to change that, and I want the resources generated to flow toward a Python community that genuinely reflects the mission's diverse and global users.

What problem or challenge do you want to address if you are on the board?

Build a sustainable corporate partnership program

The PSF has sponsorship tiers, but lacks a structured program for engaging companies at the scale their Python dependency warrants. I'm interested in working with PSF staff to design and execute a partnership program that makes it easier, and compelling, for companies, and others to contribute meaningfully. I've done this work both from the corporate side, and the position of organizer as well. I know what makes it succeed.

Invest in regional and international events

PyCon US has been the largest gathering, but is no longer running profitably. Python is spoken in Lagos, São Paulo, Jakarta, Warsaw, and the events, meetups, and communities in those places are where most of the world's Python developers live. The PSF grants program is the primary lever for supporting these communities, and it is chronically under-resourced. I'll advocate for dedicated, predictable funding for regional and international events, not one-off grants that organizers have to re-apply for every year, but structural support that lets community leaders plan, grow, and mentor the next generation of organizers in their own languages and time zones. A Python community that looks like the world requires the PSF to invest across the globe.

Connect packaging infrastructure investment to the PSF's mission

PyPI is critical infrastructure, and its funding has historically been precarious. My background in packaging and distribution gives me the context to make the case, both to the board and to corporate partners, for why sustained investment in Python's packaging ecosystem is a strategic priority, not an afterthought. I want the PSF to be a more confident and articulate advocate for the infrastructure that millions of developers depend on daily.

Where do you see the PSF 5 years from now?

Celebrating Python's 40th anniversary. Strong, sustainable, with a growing staff & membership. Not a member yet? Please consider joining the PSF as a Supporting Member

What areas of the Python community are you involved with?

I've spoken at, sponsored, or participated in PyCon US, as well as PyLadies, PyCarribean, PyTexas, PyGotham, SciPy, PyData (Texas, London, New York, Seattle), North Bay Python, and meetups, have kept me grounded in what pythonistas across the community are building, struggling with, and asking for.

Packaging: Working with package maintainers and partners in order to see that all pythonistas are able to get the software they need.

------

Note from the election administrators:

Want to learn more about this candidate? Check out their nomination statement.

25 Aug 2026 8:56am GMT

Python Software Foundation: Kalyan Prasad: 2026 PSF Board Election Candidate Interview

Who are you?

Hi, I'm Kalyan Prasad. My journey has been unconventional and shaped by persistence, self-learning, and community. I started working at a young age while continuing my studies, including delivering newspapers and milk. I later began my professional career in the financial services industry, working across operations and related roles.

Over time, I became increasingly curious about data and technology and decided to make a career transition. Coming from a non-technical background, I had a lot to learn. Through self-learning, continuous practice, and the support of communities, I moved into data science, later took on data and AI leadership roles, and today work as an AI and Data Science Practice Lead.

Python has been an important part of both my professional and community journey. I became involved with the Python community in 2019, starting as a room monitor at PyConf Hyderabad. Since then, I have grown from being a volunteer to organizing conferences, mentoring others, contributing to program committees and working groups, and taking on community leadership responsibilities.

For me, Python is much more than a programming language. It is a community that has helped me learn, grow, contribute, and build meaningful relationships. That experience continues to shape how I think about technology, opportunity, and community service.

What would you bring to the PSF Board of Directors?

I would bring the perspective of someone who has worked both inside community organizing and inside professional technology leadership. My Python community involvement began at the volunteer level and grew into organizing responsibilities across programs, sponsorship, logistics, speakers, volunteers, operations, and Code of Conduct work. That experience has helped me understand not only the visible parts of community events, but also the unseen work required to make them sustainable, inclusive, and valuable for participants.

Professionally, I bring more than a decade of experience across operations, data, technology, and AI transformation. In my current role as an AI and Data Science Practice Lead, I work with technical and business stakeholders, mentor teams, and contribute to strategic decisions. I have also worked extensively with startups and growing organizations, where I learned how to build teams, processes, and solutions from the ground up while balancing cost, growth, technology choices, and long-term value.

I believe this mix of experience would help me contribute to PSF Board discussions around sustainability, sponsorship, funding, partnerships, and long-term community growth. My work with sponsorship activities and with the NumFOCUS Small Development Grants Working Group has also given me practical experience in building relationships, reviewing proposals, and thinking carefully about how limited resources can create meaningful impact.

Most importantly, I would bring a willingness to listen. The Python community is large and diverse, and no single person's experience can represent it fully. I would aim to support thoughtful, inclusive decisions that strengthen the PSF, reduce barriers for community organizers, and help Python continue to grow as a welcoming global community.

What motivated you to run for the PSF Board of Directors?

A lot of my motivation comes from my own journey in the Python community. I started as a room monitor at PyConf Hyderabad in 2019. At that time, it was simply an opportunity to volunteer and contribute. Over the years, people trusted me with more responsibilities, and I had opportunities to learn different aspects of organizing communities and conferences.

Today, one of the things I value most is seeing newer volunteers take on responsibilities and grow into visible community roles. In HydPy, I have tried to build this practice intentionally by training newer volunteers, giving them ownership, and gradually creating space for them to become the front-facing organizers of the community.

That has made me think a lot about how communities grow. For me, growth is not only about having more attendees or organizing more events. It is also about giving people opportunities to participate, learn, take ownership, and eventually help others.

That is one of the main reasons I decided to run for the PSF Board. The Python community has created opportunities for me to learn, grow, and contribute, and I would like to help create those opportunities for others. I hope to bring what I have learned through local, national, and international community involvement to a broader level and contribute to the PSF's work in supporting a more sustainable, inclusive, and welcoming global Python community.

What problem or challenge do you want to address if you are on the board?

One challenge I care deeply about is the long-term sustainability of local and regional Python communities. From my experience organizing communities, I have seen how much work is often carried by a relatively small number of volunteers. When knowledge, relationships, and responsibilities remain with the same people for a long time, communities can become dependent on a few individuals, and it becomes harder to build the next generation of organizers.

At HydPy and PyConf Hyderabad, we have tried to address this by bringing newer volunteers into organizing responsibilities, supporting them as they learn, and gradually giving them ownership. My own journey also started with a very small volunteer role, so I have personally seen how important these opportunities can be.

If I serve on the Board, I would like to explore how the PSF can better support local communities in building stronger teams, sharing knowledge, developing future leaders, and accessing useful resources. This could include better ways to share organizing practices, support volunteer onboarding, connect communities with one another, and help local groups learn from what has worked in different regions.

I do not think there is one solution that will work everywhere. Local communities understand their own circumstances best. But I believe the PSF can play an important role in supporting and connecting them, so that communities become stronger, more sustainable, and less dependent on only a few people over time.

Where do you see the PSF in 5 years from now?

In five years, I would like to see the PSF even more connected with local and regional Python communities, helping more people find meaningful ways to participate in the wider Python ecosystem. Python has communities around the world, and each one operates in its own context. I believe the PSF can continue helping these communities access resources, learn from one another, and build stronger connections across the ecosystem while allowing local communities to decide what works best for them.
I would also like to see clearer pathways for people who want to contribute. Someone may start by attending a meetup or using Python, then become a volunteer, speaker, mentor, organizer, open-source contributor, or community leader. Making those pathways easier to discover and access would help bring more people into the community and support the next generation of contributors and organizers.

I would also like to see the PSF continue strengthening its long-term strategy around funding, partnerships, and resource allocation. As the Python ecosystem grows, careful prioritization will be important to ensure that limited resources are used where they can create meaningful impact, whether that is supporting maintainers, community programs, local events, grants, infrastructure, or new contributors.

Technology will continue to change, including the growing role of AI, but I hope the PSF continues to stay grounded in its community values. In five years, I would like the PSF to be a stronger global connector: supporting Python's technical ecosystem, helping communities become more sustainable, and creating opportunities for people from different backgrounds, regions, and levels of experience to participate and grow.

What areas of the Python community are you involved with?

Most of my involvement in the Python community has been around community organizing, conferences, program activities, mentoring, community safety, and working group participation.

Locally, I am involved with HydPy and PyConf Hyderabad. I started volunteering with PyConf Hyderabad in 2019 and gradually took on different organizing responsibilities, eventually serving as Co-Chair and later Chair. I also served as Co-Chair of PyCon India in 2023, which gave me the opportunity to contribute to a larger national community effort.

Since 2022, I have also been involved in program and review activities for several conferences, including PyCon US, EuroPython, PyCon JP, PyCon APAC, PyData Global, JupyterCon, and SciPy. I have been part of the PyCon JP Program Team for the last three years and have reviewed SciPy scientific paper submissions for three consecutive years.

Beyond conferences, I am a member of the PSF Diversity & Inclusion Working Group and participate in the NumFOCUS Code of Conduct and Small Development Grants Working Groups. These roles have helped me engage with community safety, inclusion, funding, and support for open source projects from different perspectives.

In 2026, I was honored to receive the Python Software Foundation Q2 Community Service Award. I see this recognition not as a destination, but as encouragement to continue serving the community and taking on greater responsibility where my experience can be useful.

Through these experiences, I have learned from communities beyond my own and gained a broader view of both the strengths and challenges across the Python ecosystem. They have helped me understand how important it is to support communities not only through events, but also through thoughtful programs, safer spaces, funding, mentoring, and shared learning.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:56am GMT

Python Software Foundation: Karo Ladino-Puerto: 2026 PSF Board Election Candidate Interview

Who are you?

¡Hola mundo! I'm Karo Ladino-Puerto, though most of the community knows me as Karobot. I'm Colombian, a PSF Fellow since 2020, and I've spent the last eight years building Python community infrastructure in my country alongside a lot of amazing people. I've co-led PyLadies Colombia since 2018, supporting chapters in Bogotá, Medellín, Cali, Bucaramanga, Boyacá and Santa Marta. I co-organized PyCon Colombia from 2020 to 2025, and today I'm one of three women leading Python Colombia, with the objective of reconnecting the Python communities across the whole country. In 2025 I co-founded Fundación Átoma with Carolina Gómez and Nicole Franco, a Colombian non-profit that trains women in programming and helps local organizers keep their tech conferences free.

By trade I'm a project manager, which mostly means I'm the person who notices the task nobody was assigned, asks the awkward question early, and keeps the timeline honest. It's the same skill I use in community work. I over-communicate on purpose, I'm detail-oriented to a degree that occasionally annoys people, and I still believe most good things don't need a big budget, just organization and consistency.

What would you bring to the PSF Board of Directors?

I ran for the Board in 2024. I'm running again because the question in front of the PSF has changed, and I think I can be more useful this time.

In 2024 we were mostly talking about growth. Today the Grants Program is running on a capped budget after last year's pause, PyCon US has run at a loss for three years, and the Foundation is operating with less than twelve months of runway. That isn't a communications problem, and it isn't only a diversity problem. It's a sustainability problem: how do you keep serving a community that keeps growing, with less money than you had previously?

What I'd bring is experience with exactly that. Latin American organizers have never had a big budget. We learned to build events, chapters and workshops with sponsorship money that wouldn't cover a single line item at a larger conference. I'd like the Board to hear that experience from inside the room, from someone whose entire trajectory happened outside the funding centers of the world.

What problem or challenge do you want to address if you are on the board?

It comes down to sustainability, and it has two sides.

One is the community side. Most organizers I know work with very little money, or none. How do we help them keep their impact, and grow it, like that?

The other is the industry side. Open source holds up the whole industry, the AI boom included, and more of the tooling is becoming closed. The people who keep it running are rarely recognized and almost never paid. The companies profiting from Python need to give something back.

Money touches everything. A lot of this gets done for love, but communities still need money for the basics to keep existing.

Still, part of what organizers need was never money. The PSF started here with the Community Partner Program, and I'd like to see it grow: introductions, shared infrastructure, organizers helping other organizers.

The other part is communication. The PSF has been very open about its finances this year, and the Spanish-speaking community can help spread that. People can't defend what they don't understand. I want PSF updates and calls to action to arrive in Spanish, on time. That helps fundraising too: people give when they understand what is going on.

What areas of the Python community are you involved with?

PyLadies is where I started and where I've stayed. I've co-led PyLadies Colombia since 2018, supporting the chapters in Bogotá, Medellín, Cali, Bucaramanga, Boyacá and Santa Marta with events, workshops, sponsorships and job pipelines.

On the conference side, I co-organized PyCon Colombia from 2020 to 2025 and handed it over in September of that year. I've co-organized Django Girls and Humble Data Workshops in Colombia and Mexico, and PyDays in Cali and Pereira. I've keynoted PyLatam and PyCon Bolivia, and spoken at meetups across the region.

Since December 2025 I've been part of the three-person team leading Python Colombia, whose one job is to reconnect local communities that had drifted apart from each other. It's slow, unfunded work, and a labor of love.

Inside the PSF, I'm part of the Grants and the Diversity & Inclusion Work Groups. And through Fundación Átoma, the non-profit I co-founded in 2025, we've reached more than 5,000 women, supported 10+ communities and built a network of 30+ national partners funding that work.

------

Note from the election administrators:

Want to learn more about this candidate? Check out their nomination statement.

25 Aug 2026 8:55am GMT

Python Software Foundation: Keith Murray: 2026 PSF Board Election Candidate Interview

Who are you?

I'm Keith Murray.

I engage with a lot of Python Communities, often with the handle KeithTheEE, and I find that my favorite parts of the many communities are seeing the hobbies people have, and if/how Python intersects them. Hobbies and passion projects (including silly, fun passions) are one of the ways to make code matter, and are one of the things I've been falling back to of late to help balance against burnout: particularly when I feel overwhelmed by code 'engagement' that feels overly extractive. Discovering hobbies of other Python community members has made engaging feel like a collaborative and supportive experience, even if the code isn't tied to the hobby at all.

I love (trying) to grow orchids, birding, and making pasta, and while I don't involve Python in every aspect of it, hearing about how it resonates with others (constructive or destructively), like how some prefer begonias over orchids, never got birding but love their dogs, or the many foods from their home I now need to try--helps me look forward to reading comments on the item at hand. So I'm Keith, I like many things and I love how so many people make the code around me joyful.

What would you bring to the PSF Board of Directors?

My experience would help drive outreach to communities and direct small changes to help navigate the Python ecosystem and communities with an increased awareness of engagement opportunities. A particular interest is tied to PSF membership, and using it as a pathway for communication and building outreach to help inform people about the many ways to get involved and support the Python community. Because I'm interested in the Education and Education Resources side of things, I'm more aimed at the new user experience, and trying to maintain the "exciting new world/what can I do next" feeling new programmers have.

I add perspective on the impact of things like navigating the python.org website, and how it feels to those who are new and not from a programming background. This experience with outreach and newer community member navigation helps shape how I consider relaying information to those I think either want to know about it, or want to share it to those they know want to know. In a Board of Directors role, this perspective helps understand how choices are felt in the wider community, and shapes the way I'd encourage asking for feedback, input, and help with larger goals.

What motivated you to run for the PSF Board of Directors?

I am running for the PSF Board of Directors because I think my experience reaching out to lots of communities, and relaying their events in other spaces has helped me learn a lot about helpful outreach methodologies as well as perceived limitations in many communities. I particularly hope to shape the workflow of becoming a member, to make "being a part of the PSF" feel more meaningful, and to help direct the excitement of wanting to help into things which are impactful, but may not immediately be alluring.

Things like sharing events, commenting on an old issue if it is still present on your machine, operating system, python version, telling community members, "thank you" and that you like the things they did are all ways to help which can alleviate some burden or stress from staff and core team members, and guiding that branch of empowerment is something I think is valuable.

What problem or challenge do you want to address if you are on the board?

Funding the PSF, and ensuring that funding is reliable so long term, structural improvement can be made is the among largest challenges I see PSF currently facing. While improving the PSF Membership workflow might not be the most direct way to addressing overall PSF funding, a wider audience who's aware of the financial needs of Open Source gives strength to the conversation in every company.

One of my biggest hopes for the next year is a formalized means to nominate individuals for PSF "Contributing Membership", that way it's easier to communicate how many people actually qualify for this class of membership. The wording of the membership is a non exhaustive list of ways people qualify, but many people don't know it exists, or pre-emptively determine their efforts aren't enough. There are so many who qualify and if they're invited they'll highlight all the other amazing community members they know. Building a network of celebration helps communicate a core reason funding the PSF is very important, and makes it easier for more community members to start that conversation within their companies.

Where do you see the PSF 5 years from now?

Because funding is among the biggest challenges, and is one that is unlikely to be resolved quickly, I think "Community Empowerment" will be one of the strongest aspects of the PSF in the years to come. There are many bodies for regional, domain specific, or identity specific Python groups, and I think maintaining and encouraging strong relationships with the larger community will help relay messaging, and help build up diverse leadership skills by having more events like CPython development sprints at various regional events. That wider net helps foster skills, enables local companies to invest in their local community while seeing its direct impact on the growth of Python as a whole, and hopefully provides chances for community engagement in a fashion that alleviates burdens.

Looking at the strength of the PSF Board of Director Nominees as well as Python Packaging Council nominees, it's clear that there's a massive amount of talent and each person has amazing experiences which inform the direction they want to help the PSF grow. Each of those is an area that strengthens the whole Python Community, and strong and well defined paths of empowerment and organization resources help ensure these initiatives continue to help Python thrive.

What areas of the Python Community are you involved with?

I'm a part of the PSF Education and Outreach Workgroup, a Director and Community Outreach Lead for the community run Python Discord, and help with PyOhio (As a volunteer this year, prior two years as a Communication Chair). Additionally I moderated the Python Subreddit from mid 2020 through mid 2023.

I do a lot of work focused on the outreach side of things, trying to listen to where communities have needs and connect individuals who have strengths in exactly that domain. There's a fair amount of times where people just didn't know something existed, or don't know where to find a resource, and helping relay that information has been one of the areas I've found to be fulfilling. It has the added benefit of getting to meet a ton of cool people and seeing the amazing things they're doing in Python, and how their hobbies outside of Python shape their code and community.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:55am GMT

Python Software Foundation: Nina Zakharenko: 2026 PSF Board Election Candidate Interview

Who are you?

I'm Nina Zakharenko. I went to my first PyCon US in Santa Clara in 2013, and fell in love with the Python community. Since then, I've co-chaired PyCascades, taught Python to hundreds of students, and given talks, workshops, and keynotes at Python events around the world, including the closing keynote at PyCon US 2019. Professionally, I've held roles at Microsoft and Google focused on Python, open source, developer communities, and supply chain security. These days I work for myself, and I'm running as an independent candidate.

I served on the PSF Board of Directors from 2020 to 2023, including as Communications Co-Chair and Co-Vice Chair. After spending time recharging, I'm running again because I believe the Python community is entering a period of significant change, and I'd like to contribute my relevant experience to a community that has been central to my life and career for over a decade. Outside of work, I love to be creative with hobbies like 3D printing, ceramics, and stained glass artwork.

What would you bring to the PSF Board of Directors?

Three years of board experience, along with perspective from working across industry and community. During my previous term, I worked on initiatives around grants and helped introduce a more accessible membership tier. I also learned the less visible side of board work: fundraising, executive oversight, and recruiting new directors. That means I can start contributing quickly, and invest time in helping new directors onboard as well.

I've been involved in Python from many angles: as a software engineer, a conference organizer and speaker, and a teacher. At Microsoft and Google, I focused on open source and software supply chain security, and managed Microsoft's sponsorship and event presence at PyCon US and other Python events for several years. The PSF exists at an intersection of community, education, infrastructure, and sponsorship, and I believe directors with hands-on experience in those areas will help the PSF adapt to new challenges ahead.

What motivated you to run for the PSF Board of Directors?

What's pulling me back in 2026 is the sense that the landscape is changing quickly, both within and around the Python community. How open source is funded, maintained, and secured looks very different than it did a few years ago. So do conference attendance and sponsorship. As an educator and speaker, I'm hyper-aware that AI tools are changing how people learn to program, contribute to projects, submit to conferences, and share their knowledge. I believe the PSF, through its policies, grants, and working groups, has a role to play in how Python is taught in the age of AI, so that a new generation of programmers learns to read, comprehend, and debug code, and make meaningful contributions to open source.

This isn't new territory for me. I've worked on these problems as a contributor, an organizer, a PSF director, and in industry roles focused on open source and security. I'm running because I believe my experience is particularly relevant to the challenges the PSF faces today.

What problem or challenge do you want to address if you are on the board?

One of the biggest challenges is financial sustainability: as a non-profit, the PSF relies on donations to keep operating and provide critical services, like PyPI, that millions depend on.

While we'd like to see companies contribute in proportion to their use of Python, I'd love to help the board find new ways to bring in funds beyond events like PyCon US. After the PSF withdrew from a strings-attached NSF grant in October 2025, supporters donated over $150,000 and 295 new members joined within two weeks. I want to keep that momentum going through small recurring pledges from those with the means to give, and by spreading the word about employer donation matching at large tech companies.

The other side of the coin is how those funds are used: compensating the PSF's small staff fairly, and sustaining the grants and programs that shape the next generation of Python programmers. Those programs should reflect our global community, and continued outreach beyond North America and Europe is paramount. The $25 supporting membership we introduced during my last term opened the door to more people, and I believe there are more opportunities like it to welcome members from all over the world.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:54am GMT

Python Software Foundation: Petr Andreev: 2026 PSF Board Election Candidate Interview

Who are you?

I am a Python educator, CPython-internals specialist, community organizer, and international Python speaker.

I teach Advanced Python and CPython internals, from memory management and interpreter architecture to free-threading and performance. My work increasingly focuses on turning technical education into real-world participation: research, open-source contribution, conference speaking, and leadership.

Before focusing on Python, I helped build an educational community of roughly 2,500 participants. I assembled an organizing team, secured external funding, and developed partnerships with companies, an endowment, and other organizations to support courses, competitions, speakers, and community programs.

These experiences shaped the model behind much of my work:
develop developers → develop contributors → develop community leaders.

What would you bring to the PSF Board of Directors?

I would bring experience building organizations and systems around technical communities.

I have worked on both sides of community development: developing individuals through education and mentorship, and building the infrastructure around them through organizing teams, institutional partnerships, external funding, events, and opportunities to lead.

I also bring an unusual combination of technical depth and community-building experience. I can communicate with CPython contributors about implementation-level problems, with educators about developing new talent, and with institutions and companies about partnerships and resources.

My international work across Europe and Asia gives me another useful perspective: the ability to listen across communities, identify problems that repeat across regions, and connect people who have already developed solutions.

What motivated you to run for the PSF Board of Directors?

One of the PSF's strategic goals resonates particularly strongly with me: Develop the Next Generation of Python Developers.

I have spent years experimenting with this problem on a smaller scale and have seen students progress from learning advanced Python to researching its internals, contributing upstream, and presenting their work publicly.

I now want to work on the system behind that progression.

The PSF is uniquely positioned to connect communities, educational institutions, employers, sponsors, maintainers, and contributors. I am running because I believe these connections can make participation in Python easier to discover and more sustainable over the long term.

What problem or challenge do you want to address if you are on the Board?

Contributor retention.

Python attracts enormous numbers of users, but converting initial interest into years of meaningful contribution is much harder.

Open-source contribution competes with paid work, family, and other demands on people's time. The question I want to work on is: how can the PSF make sustained contribution easier and more rewarding?

I would explore clearer contributor pathways, mentorship infrastructure, recognition, funded contributor time, and partnerships with employers and educational institutions.
I would also measure whether these mechanisms actually work: repeat contributions, retention, mentorship activity, increasing responsibility, and long-term participation.
The PSF does not govern CPython technically, but it can help create conditions in which contributors and maintainers are more able to stay.

------

Note from the election administrators:

Want to learn more about this candidate or ask them a question?

Check out their nomination statement.

Check out their AMA thread on discuss.python.org.

25 Aug 2026 8:54am GMT