Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macropy3 bootstrapper moved to imacropy #3

Closed
Technologicat opened this issue Jul 24, 2019 · 3 comments
Closed

macropy3 bootstrapper moved to imacropy #3

Technologicat opened this issue Jul 24, 2019 · 3 comments
Labels
enhancement New feature or request
Milestone

Comments

@Technologicat
Copy link
Owner

The macropy3 bootstrapper now lives in the separate imacropy repo, since it's a general MacroPy add-on, not specific to unpythonic.

So, in the name of DRY, in 0.15 we should drop the local copy macro_extras/macropy3, add imacropy to the requires in setup.py, and update the documentation to reflect this.

(However, this will have the side effect that installing unpythonic will pull in macropy3, even for users who don't need or want macros. This makes it look like a hard dependency, even though it is actually optional - only needed if you want the macro-based language extensions. If anyone has a better approach, please comment.)

@Technologicat Technologicat added the enhancement New feature or request label Jul 24, 2019
@Technologicat
Copy link
Owner Author

Technologicat commented Jul 26, 2019

Talking to myself here, this should probably be considered together with #1. A possible better approach is:

  • First deprecate the local copy of the bootstrapper in a 0.14.2 release. Warn that it has moved into the imacropy package. Done.
    • We're approaching feature-completeness. The development has slowed down enough to start being careful about introducing breaking changes.
    • Hence, the project should be able to stay at 0.14.x for a while longer. There's no hurry to bump the version to 0.15.0, until the first compelling reason to break backward compatibility turns up.
    • There's no developer time cost to letting the old code stay, as long as it needs no maintenance. Once an affected feature needs fixing, and/or some other part of the code becomes much easier to implement with features introduced in Python 3.5 or later, that's the proper time to bump to 0.15.0 and drop Python 3.4. (MatMult and f-strings are nice, but hardly needed for implementing unpythonic - it just needs to not choke on them.)
    • Another possible natural time for a 0.15.0 release is when some part of the API needs a breaking change anyway.
    • 0.15.0 could well be named 1.0, which would allow a move into proper semantic versioning.
  • Dependencies: the project could be served as a set of three packages:
    • unpythonic-common, to install the pure-Python parts only. No dependencies other than the standard library.
    • unpythonic-syntax, to install the language extensions. Depend on imacropy to install the macropy3 bootstrapper.
    • Meta-package unpythonic that pulls in both. Considering the target niche, this should be the default.

@Technologicat Technologicat added this to the 0.15 milestone Aug 8, 2019
@Technologicat
Copy link
Owner Author

mcpyrate replaces the macropy3 wrapper with macropython. See #72.

@Technologicat
Copy link
Owner Author

Local copy of bootstrapper removed in 015wip branch, first cut of doc update done.

Once the port to mcpyrate is done, we can just use its macropython.

Closing the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant