From 1b194d1b03f7a530aacd153a09cd906b1bbd22d6 Mon Sep 17 00:00:00 2001 From: Ivan Ogasawara Date: Mon, 12 Aug 2024 20:03:11 -0400 Subject: [PATCH] proposal: Add astx to the initial makim proposal (#15) --- psf/approved/readme.md | 0 .../scicookie}/psf-grant-report-2024-01.md | 0 .../scicookie}/psf-proposal-2023-01.md | 0 .../scicookie}/psf-proposal-2024-01.md | 0 .../psf-proposal-makim-astx-2024.md | 206 ++++++++++++++++++ psf/in-progress/readme.md | 0 psf/in-review/readme.md | 0 .../rejected/makim}/psf-proposal-makim.md | 16 +- psf/rejected/readme.md | 0 9 files changed, 213 insertions(+), 9 deletions(-) create mode 100644 psf/approved/readme.md rename {scicookie => psf/approved/scicookie}/psf-grant-report-2024-01.md (100%) rename {scicookie => psf/approved/scicookie}/psf-proposal-2023-01.md (100%) rename {scicookie => psf/approved/scicookie}/psf-proposal-2024-01.md (100%) create mode 100644 psf/in-progress/makim-astx/psf-proposal-makim-astx-2024.md create mode 100644 psf/in-progress/readme.md create mode 100644 psf/in-review/readme.md rename {makim => psf/rejected/makim}/psf-proposal-makim.md (93%) create mode 100644 psf/rejected/readme.md diff --git a/psf/approved/readme.md b/psf/approved/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/scicookie/psf-grant-report-2024-01.md b/psf/approved/scicookie/psf-grant-report-2024-01.md similarity index 100% rename from scicookie/psf-grant-report-2024-01.md rename to psf/approved/scicookie/psf-grant-report-2024-01.md diff --git a/scicookie/psf-proposal-2023-01.md b/psf/approved/scicookie/psf-proposal-2023-01.md similarity index 100% rename from scicookie/psf-proposal-2023-01.md rename to psf/approved/scicookie/psf-proposal-2023-01.md diff --git a/scicookie/psf-proposal-2024-01.md b/psf/approved/scicookie/psf-proposal-2024-01.md similarity index 100% rename from scicookie/psf-proposal-2024-01.md rename to psf/approved/scicookie/psf-proposal-2024-01.md diff --git a/psf/in-progress/makim-astx/psf-proposal-makim-astx-2024.md b/psf/in-progress/makim-astx/psf-proposal-makim-astx-2024.md new file mode 100644 index 0000000..49f5e50 --- /dev/null +++ b/psf/in-progress/makim-astx/psf-proposal-makim-astx-2024.md @@ -0,0 +1,206 @@ +# Proposal for Python Software Foundation: Support for Open Science Labs Incubated/Affiliated Projects: Makim and ASTx + +Open Science Labs (OSL) actively supports and incubates projects that contribute +significantly to the open source ecosystem. Our community is dedicated to +enhancing the visibility and development of these projects, notably through our +Internship Program. This program not only offers mentoring but also aids in the +career development of its participants. Additionally, selected projects have the +opportunity to be featured in prestigious initiatives such as the Google Summer +of Code. + +OSL also assists participants in securing funds to continue their contributions +to projects while advancing their professional growth. + +This proposal seeks funding from the Python Software Foundation to accelerate +the development of two projects under the OSL Umbrella: Makim and ASTx. Through +this support, we aim to expand their impact and functionality, benefiting both +the Python community and the broader open source landscape. + +## Makim + +Makim is a versatile Python-based automation tool that simplifies project +management across various programming environments. It utilizes a YAML +configuration for easy setup and a Typer-powered command-line interface, +allowing users to manage interpreters, dependencies, and debugging tasks +efficiently. Makim supports multiple backends for code execution, including +Xonsh, which combines the best features of Bash and IPython to create a powerful +scripting environment. This compatibility across major operating systems like +Linux, macOS, and Windows (via WSL), alongside its ability to streamline DevOps +tasks and software development processes, makes Makim a handy tool for enhancing +productivity and simplifying complex workflows. For more information, please +check out its official documentation: +[Makim Documentation](https://osl-incubator.github.io/makim). + +## ASTx + +ASTx is a versatile framework designed to construct and represent Abstract +Syntax Trees (ASTs) in a language-agnostic manner. It provides a flexible +structure usable across various programming languages and parsing tools. +Although not a lexer or parser, ASTx integrates with any Python-written parser +to offer a high-level representation of ASTs. Within the ArxLang project, +particularly in the IRx library, ASTx serves as the input that is converted to +LLVM IR via llvmlite, and subsequently into binary code. The ArxLang team aims +for ASTx to be a useful tool for any Python-based compiler, enabling +straightforward representation of ASTs and seamless integration with IRx for +automatic compilation into binary code. For more information, please check out +its official documentation: [ASTx Documentation](https://astx.arxlang.org). + +## Form + +- Contact + + - Legal First Name\*: Ivan + + - Legal Last Name \*: Ogasawara + + - Nickname: xmnlab + + - Email \*: ivan.ogasawara@gmail.com + +- Address (selection) + + - City \*: + + - Country\*: + + - State/Province/Region: + + - Region Other: + + - Postal Code: + + - Postal Code Suffix: + + - Phone Number \*: + +- Organization + + - Organization Name: Open Science Labs + + - Organization Email: team@opensciencelabs.org + + - Twitter Handle: @opensciencelabs + + - Website: https://opensciencelabs.org + + - Grant Type \*: Development work + + - Grant Title \*: Support for Open Science Labs Incubated/Affiliated Projects: + Makim and ASTx. + +- FAQ & Grants Program Info \*: I have read and understand these pages. + +- Date \*: 01/10/2024 + +- Event’s/project’s website \*: https://opensciencelabs.org + +- Requested Grant Amount (USD) \*: $5,126.00 + +- Grant Amount Breakdown \*: The money will be used for development work, + maintenance, project management and review. + +- Budget \*: + https://docs.google.com/spreadsheets/d/1k0DV6nWafk4YvD73u5hXIKcdBnvJfuZ38QGgQstGDmo/edit?usp=sharing + +- Objective \*: + + The primary objective of this grant proposal is to accelerate the development + of the Makim and ASTx projects, enhancing their functionality, usability, and + compatibility. This grant aims to streamline the development process for + Python projects and programming languages' AST handling, reducing technical + debt, expanding platform support, and facilitating efficient parsing and code + generation. The specific goals to be achieved through this grant are outlined + as follows: + + 1. **Functional Enhancements and Platform Support for Makim**: + + - Enhance the clarity and comprehensiveness of the Makim project + documentation, adding a complete guide for the Makim configuration file. + - Introduce a matrix strategy for targets to facilitate efficient testing and + deployment across multiple environments. + - Implement support for interactive arguments, enabling more dynamic and + user-friendly interaction with Makim projects. + - Introduce support for scheduling jobs, enhancing automation capabilities and + workflow management. + + 2. **Development and Integration of ASTx**: + + - Enhance ASTx to support more programming constructs such as classes, enum, + lambda, casting, etc. + - Implement additional AST node types to cover error handling, memory + management, and meta-programming constructs, broadening the scope and + applicability of ASTx across different programming paradigms. + +- Beneficiaries \*: + + With the support of this grant, the project will provide opportunities for + skill development and community engagement, particularly for individuals + involved in the project's development and maintenance. The beneficiaries of + this grant include: + + 1. **Developers**: + + Abhijeet Saroha, based in India, has previously contributed to Makim and plans + to extend his involvement by dedicating approximately 100-110 hours over the + next 12 weeks. His contributions include implementing user-defined + working-directory configurations by scope levels, introducing command + suggestions through a fuzzy search mechanism for incorrect commands, and + enhancing documentation. + + Similarly, Ana Paula Morais Krelling, based in the US, has actively + contributed to the ASTx project and will continue her efforts, committing + about 120 hours during the same 12-week period. Her key contribution includes + developing an ASCII visual representation for ASTx, which significantly + improves experience handling ASTx nodes in the console during a debugging + process. + + 2. **Project Manager**: + + A dedicated project manager will oversee the coordination, scheduling, and + resource allocation for the development of both Makim and ASTx. This role is + pivotal in ensuring smooth project execution and timely delivery of + milestones. The project manager is expected to dedicate a total of 20 hours to + the project. This position is currently open. + + 3. **Social Media and Community Manager**: + + Mfonobong Uyah, as the Social Media Manager, will enhance Makim and ASTx's + online presence and community engagement. He will develop and implement + strategies to promote project updates, engage with followers, and build a + vibrant online community. Mfonobong is set to dedicate approximately 16 hours + in total to the project. His efforts will ensure consistent communication, + highlight key milestones, and stimulate interest in Makim and ASTx across + various social media platforms. + + 4. **Mentorship, Guidance, and Review**: + + Ivan Ogasawara, a member of the Open Science Labs steering council, will + provide mentorship, guidance, and code review for the Makim and ASTx projects. + With extensive experience in community engagement and project management, Ivan + has previously chaired the SciPy Latin America 2016 conference. As the founder + of Open Science Labs, he has developed several open source Python libraries, + including Makim and ASTx. His work emphasizes support for open source projects + and creating opportunities for new contributors through initiatives like the + Incubator Program and Internship Program. Ivan is committed to dedicating a + total of 30 hours to both projects. + + 5. **Fiscal Sponsor**: + + Makim is developed within the Open Science Labs Incubator Program, while ASTx + is part of the ArxLang Project, which is affiliated with Open Science Labs. + Funding for both projects is administratively managed through Open Science + Labs' fiscal host, [Open Source Collective](https://opencollective.com/osl). + + - Regional Support + + The remain funding would be used to maintain the both ASTx and Makim + updated. + + - Link to Code of Conduct \*: https://opensciencelabs.org/about/coc/ + + - Percentage of Python \*: 100% + + - Follow-up activities \*: + + As a follow up activity, we plan to promote Makim and ASTx in conferences + and events. diff --git a/psf/in-progress/readme.md b/psf/in-progress/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/psf/in-review/readme.md b/psf/in-review/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/makim/psf-proposal-makim.md b/psf/rejected/makim/psf-proposal-makim.md similarity index 93% rename from makim/psf-proposal-makim.md rename to psf/rejected/makim/psf-proposal-makim.md index 946f972..c55dfb0 100644 --- a/makim/psf-proposal-makim.md +++ b/psf/rejected/makim/psf-proposal-makim.md @@ -131,15 +131,13 @@ Below are the content for the PSF grant application form. invaluable in upholding Makim's integrity. He will dedicate 20 hours to the project over the duration. - 4. **Social Media Manager**: - Mfonobong Uyah, as the Social Media Manager, will play a crucial role - in enhancing Makim's online presence and community engagement. He - will develop and implement strategies to promote project updates, - engage with followers, and foster a vibrant online community. By - dedicating around 20 hours to the project over the duration, - Mfonobong will ensure consistent communication, highlight key - milestones, and drive interest in Makim through various social media - platforms. + 4. **Social Media Manager**: Mfonobong Uyah, as the Social Media Manager, will + play a crucial role in enhancing Makim's online presence and community + engagement. He will develop and implement strategies to promote project + updates, engage with followers, and foster a vibrant online community. By + dedicating around 20 hours to the project over the duration, Mfonobong will + ensure consistent communication, highlight key milestones, and drive + interest in Makim through various social media platforms. 5. **Mentorship and Guidance**: diff --git a/psf/rejected/readme.md b/psf/rejected/readme.md new file mode 100644 index 0000000..e69de29