Skip to content

Commit

Permalink
proposal: Add astx to makim proposal
Browse files Browse the repository at this point in the history
  • Loading branch information
xmnlab committed Aug 12, 2024
1 parent a03eb98 commit 43deb63
Show file tree
Hide file tree
Showing 2 changed files with 206 additions and 192 deletions.
206 changes: 206 additions & 0 deletions psf/in-progress/makim-astx/psf-proposal-makim-astx-2024.md
Original file line number Diff line number Diff line change
@@ -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 \*: [email protected]

- Address (selection)

- City \*:

- Country\*:

- State/Province/Region:

- Region Other:

- Postal Code:

- Postal Code Suffix:

- Phone Number \*:

- Organization

- Organization Name: Open Science Labs

- Organization Email: [email protected]

- 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.
192 changes: 0 additions & 192 deletions psf/in-progress/makim-astx/psf-proposal-makim-astx.md

This file was deleted.

0 comments on commit 43deb63

Please sign in to comment.