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/makim-astx/psf-proposal-makim-astx.md b/psf/in-progress/makim-astx/psf-proposal-makim-astx.md deleted file mode 100644 index e231384..0000000 --- a/psf/in-progress/makim-astx/psf-proposal-makim-astx.md +++ /dev/null @@ -1,192 +0,0 @@ -# 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: [Makim 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) \*: $2,340.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 enhance the Makim project - addressing key areas to improve its functionality, usability, and - compatibility. The proposed enhancements aim to streamline the development - process for Python projects by reducing technical debt and expanding platform - support. The following objectives outline the specific goals to be achieved - through this grant: - - 1. **Functional Enhancements and Platform Support**: - - - 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 psf-grant-proposal to facilitate - efficient testing and deployment across multiple environments. - - Expand support for Windows platforms by transitioning from sh to native - Windows command execution mechanisms. - - Implement support for interactive arguments, enabling more dynamic and - user-friendly interaction with Makim projects. - - Introduce support for scheduling jobs with cron, enhancing automation - capabilities and workflow management. - -- 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. **Developer**: - - The developer, Abhijeet, based in India, worked as an intern and remains - committed to advancing the Makim project. Having previously contributed to - Makim, Abhijeet aims to continue his involvement, dedicating approximately - 100-110 hours over the 12-week duration to further enhance the project's - development and implementation. - - 2. **Project Manager**: - - A dedicated project manager will oversee the coordination, scheduling, and - resource allocation aspects of Makim's development. Their role is pivotal - in ensuring smooth project execution and timely delivery of milestones. He - will dedicate about 15 hours to the project over the duration. - - 3. **Senior Developer (Review and Quality Assurance)**: - - The senior developer will focus on reviewing code contributions, ensuring - adherence to project standards, and maintaining code quality. Their - expertise in Python development and quality assurance practices will be - 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. - - 5. **Mentorship and Guidance**: - - Ivan Ogasawara, a key member of the Open Science Labs steering council, - will provide mentorship for the grant. Ivan has experience in community - engagement, project management, and served as chair for the SciPy Latin - America 2016 conference. He is the founder of Open Science Labs, - established in 2015, and has developed several open source Python - libraries, including Makim. His work focuses on supporting open source - projects and facilitating opportunities for new contributors through - programs like the Incubator Program and Internship Program. - - 6. **Fiscal Sponsor**: Makim is developed under the Open Science Labs - Incubator Program. Consequently, funding for the Makim project is - administratively managed through the Open Science Labs fiscal host, - [Open Source Collective](https://opencollective.com/osl). - -- Regional Support - - The remain funding would be used to maintain the template 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.