You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 3, 2026. It is now read-only.
Copy file name to clipboardExpand all lines: docs/en/news/posts/2016/buzz/hello-website.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,6 @@ The new website uses [Lektor](https://www.getlektor.com), a static site generato
19
19
20
20
Although we're launching the site today, it's not complete. There's still content that needs to be written, and styling that needs to be fixed. However, we think that the new site is better than the old one, and therefore it's not worth delaying the launch any longer.
21
21
22
-
This also gives you - the BeeWare community - a great opportunity to contribute. If you find something that is missing from the site, or something that you think could be expressed better, or designed better, the entire site is [available on GitHub](https://github.com/beeware/beeware.github.io/tree/lektor). Fork the repository, make the change you think that is needed, and submit a pull request (against the `Lektor` branch - not`master`). All contributions are welcome, and as with all BeeWare contributions, website contributions make the submitter all eligible to receive an exclusive [BeeWare Challenge Coin](/contributing/challenge-coins.md).
22
+
This also gives you - the BeeWare community - a great opportunity to contribute. If you find something that is missing from the site, or something that you think could be expressed better, or designed better, the entire site is [available on GitHub](https://github.com/beeware/beeware.github.io/tree/lektor). Fork the repository, make the change you think that is needed, and submit a pull request (against the `Lektor` branch - not `master`). All contributions are welcome, and as with all BeeWare contributions, website contributions make the submitter all eligible to receive an exclusive [BeeWare Challenge Coin](/contributing/challenge-coins.md).
23
23
24
24
We hope you enjoy the new site; if you've got any feedback, let us know [with a ticket](https://github.com/beeware/beeware.github.io/issues/) or [on our Discord server](https://beeware.org/bee/chat/).
Copy file name to clipboardExpand all lines: docs/en/news/posts/2017/buzz/2017-google-summer-of-code-final-report-adam-boniecki.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ With Google Summer of Code 2017 program nearing its end, it is time to summarize
13
13
14
14
Batavia is a part of BeeWare's collection of projects. As it is still in its early stage of development, for my part I offered to implement a number of features missing from Batavia, ranging from elemental data types, through JSON manipulation and language constructs such as generators. I posted my proposal in [this GitHub thread](https://github.com/beeware/batavia/issues/483) and kept it updated with my progress on a weekly basis.
15
15
16
-
Note that by the end of GSoC, we have decided to diverge from the proposal and forgo implementation of `contextlib` in favor of support for Python 3.6 2-byte wide opcodes.
16
+
Note that by the end of GSoC, we have decided to diverge from the proposal and forgo implementation of `contextlib` in favor of support for Python 3.6 2-byte wide opcodes.
17
17
18
18
Overall it was great learning experience and fun. Big thanks to my mentors Russell Keith-Magee and Katie McLaughlin, and the whole BeeWare community.
19
19
@@ -37,7 +37,7 @@ Overall it was great learning experience and fun. Big thanks to my mentors Russe
37
37
-[Support for yield from in Python 3.5+](https://github.com/beeware/batavia/pull/599)
38
38
-[Bug fix for yield from and Python 3.6+](https://github.com/beeware/batavia/pull/646)
39
39
40
-
### `with` statement
40
+
### `with` statement
41
41
42
42
-[SETUP\_WITH and WITH\_CLEANUP opcodes](https://github.com/beeware/batavia/pull/594)
43
43
-[WITH\_CLEANUP\_START and WITH\_CLEANUP\_FINISH for Python 3.5+](https://github.com/beeware/batavia/pull/620)
Copy file name to clipboardExpand all lines: docs/en/news/posts/2018/buzz/2018-google-summer-of-code-final-report-yap-boon-peng.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,15 +7,15 @@ categories:
7
7
- Buzz
8
8
---
9
9
10
-
In the blink of an eye, Google Summer of Code (GSoC) 2018 has come to an end. During the three months long coding period, I have contributed several patches in VOC repository of BeeWare, all working towards the ultimate end goal of running `asyncio` module in VOC. In this blog post (which is my first actual blog post by the way 😄), I will document what I have done so far, why I couldn't make it to the end goal (yea, unfortunately I couldn't get `asyncio` to work at the end of GSoC 2018), and what's left that needs to be done in order to achieve the end goal (or at least make part of`asyncio` work).
10
+
In the blink of an eye, Google Summer of Code (GSoC) 2018 has come to an end. During the three months long coding period, I have contributed several patches in VOC repository of BeeWare, all working towards the ultimate end goal of running `asyncio` module in VOC. In this blog post (which is my first actual blog post by the way 😄), I will document what I have done so far, why I couldn't make it to the end goal (yea, unfortunately I couldn't get `asyncio` to work at the end of GSoC 2018), and what's left that needs to be done in order to achieve the end goal (or at least make part of `asyncio` work).
11
11
12
12
<!-- more -->
13
13
14
14
## Building Foundation
15
15
16
-
The first error that the transpiler throws when attempting to compile `asyncio` module was "No handler for`YieldFrom`", so it makes sense to start from this issue first.
16
+
The first error that the transpiler throws when attempting to compile `asyncio` module was "No handler for `YieldFrom`", so it makes sense to start from this issue first.
17
17
18
-
Another feature related to generator was `Yield` expression. Before GSoC 2018, `Yield` statement in VOC was just a statement, meaning `yield` could not be used as expression. Generator methods such as `generator.send`, `generator.throw` and `generator.close` were not supported as well. Those features are what make asynchronous programming with generator possible, so I spent a few weeks to extend generator functionality in VOC, laying down the path to`asyncio` module.
18
+
Another feature related to generator was `Yield` expression. Before GSoC 2018, `Yield` statement in VOC was just a statement, meaning `yield` could not be used as expression. Generator methods such as `generator.send`, `generator.throw` and `generator.close` were not supported as well. Those features are what make asynchronous programming with generator possible, so I spent a few weeks to extend generator functionality in VOC, laying down the path to `asyncio` module.
19
19
20
20
PRs related to generator are listed below:
21
21
@@ -25,9 +25,9 @@ PRs related to generator are listed below:
25
25
26
26
## `Nonlocal` Statement
27
27
28
-
`Nonlocal` statement was another syntax not supported by VOC. After completion of generator's features, implementing this is the next step towards compiling `asyncio` module.
28
+
`Nonlocal` statement was another syntax not supported by VOC. After completion of generator's features, implementing this is the next step towards compiling `asyncio` module.
29
29
30
-
Implementing this feature took about 3 ~ 4 weeks as this is not as trivial as it seems. I took several approaches on this, while some of them do work, the code is not pretty and `hacky`, which could come back to bite me/other contributors in the long run. After many discussions with Russell, I refactored the closure mechanism in VOC and took a much cleaner approach in `nonlocal` implementations. I must admit that I took some short-cuts for the sake of "making `nonlocal` works" in the process of implementing`nonlocal` statement, resulting in poor design and messy codes. Many thanks to Russell, who helped me to improve my coding style and told me not to be discouraged when I'm stuck. 😄
30
+
Implementing this feature took about 3 ~ 4 weeks as this is not as trivial as it seems. I took several approaches on this, while some of them do work, the code is not pretty and `hacky`, which could come back to bite me/other contributors in the long run. After many discussions with Russell, I refactored the closure mechanism in VOC and took a much cleaner approach in `nonlocal` implementations. I must admit that I took some short-cuts for the sake of "making `nonlocal` works" in the process of implementing `nonlocal` statement, resulting in poor design and messy codes. Many thanks to Russell, who helped me to improve my coding style and told me not to be discouraged when I'm stuck. 😄
31
31
32
32
Related PRs:
33
33
@@ -36,7 +36,7 @@ Related PRs:
36
36
37
37
## The Collections Module
38
38
39
-
Next item on my hit list was pure Java implementations of the `collections` module. `asyncio` module depends on 3 data structures from `collections`, namely `defauldict`, `Deque` and `OrderedDict`. Two of them ( `defaultdict` and `Deque`) are implemented in C in CPython, plus they have good analog in Java, so it makes senses to implement the module in Java. Porting `defauldict`, `Deque` and`OrderedDict` to Java in VOC is relatively straight-forward, taking about 1.5 weeks to complete.
39
+
Next item on my hit list was pure Java implementations of the `collections` module. `asyncio` module depends on 3 data structures from `collections`, namely `defauldict`, `Deque` and `OrderedDict`. Two of them ( `defaultdict` and `Deque`) are implemented in C in CPython, plus they have good analog in Java, so it makes senses to implement the module in Java. Porting `defauldict`, `Deque` and `OrderedDict` to Java in VOC is relatively straight-forward, taking about 1.5 weeks to complete.
40
40
41
41
Related PRs:
42
42
@@ -71,14 +71,14 @@ Related PRs:
71
71
72
72
## Towards The Ultimate End Goal
73
73
74
-
Unfortunately, three months of GSoC coding period was not enough for me to bring `asyncio` module to VOC. The `nonlocal` statement implementation was the biggest blocker for me mainly because I didn't think thoroughly before writing code. If I were to plan carefully and lay out a general coding direction, I would've completed it in much shorter time and have time for other implementations. An advice for the aspiring and upcoming GSoC-er, don't rush your code, make sure you know 100% about what you're doing before diving into the codes.
74
+
Unfortunately, three months of GSoC coding period was not enough for me to bring `asyncio` module to VOC. The `nonlocal` statement implementation was the biggest blocker for me mainly because I didn't think thoroughly before writing code. If I were to plan carefully and lay out a general coding direction, I would've completed it in much shorter time and have time for other implementations. An advice for the aspiring and upcoming GSoC-er, don't rush your code, make sure you know 100% about what you're doing before diving into the codes.
75
75
76
-
With that said, following are the list of modules to be implemented/ported to Java before `asyncio` will work in VOC:
76
+
With that said, following are the list of modules to be implemented/ported to Java before `asyncio` will work in VOC:
77
77
78
-
-`socket` module (a bit tricky since Java doesn't support Unix domain socket natively)
79
-
-`selectors` module (high level I/O operations)
80
-
-`threading` module (might be easier to implement this first since threading in Python is an emulation of Java's Thread)
81
-
-`time` module (partially implemented in VOC)
78
+
-`socket` module (a bit tricky since Java doesn't support Unix domain socket natively)
79
+
-`selectors` module (high level I/O operations)
80
+
-`threading` module (might be easier to implement this first since threading in Python is an emulation of Java's Thread)
Copy file name to clipboardExpand all lines: docs/en/news/posts/2022/buzz/2022q3-roadmap.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Briefcase has an MSI packaging backend for Windows; and while this backend works
34
34
35
35
- Adding a stub binary for Windows apps, so that Briefcase apps present to the task manager with the apps name and icon, rather than "`pythonw`";
36
36
- Improving log capture on Windows, so that it is easier to diagnose when problems occur; and
37
-
- Fixing some issues with the way the `site` is defined and used. This may also address some issues we've seen with binary modules in some Windows apps.
37
+
- Fixing some issues with the way the `site` is defined and used. This may also address some issues we've seen with binary modules in some Windows apps.
Copy file name to clipboardExpand all lines: docs/en/news/posts/2022/buzz/2022q4-roadmap.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ In Q4, we're planning to focus on:
32
32
33
33
The primary focus for Q4 will be Toga. There are a number of pieces of work involved with this:
34
34
35
-
-**Housekeeping** - Basic repository maintenance tasks, like enabling `black`, introducing pre-commit hooks, `towncrier`, and automating release infrastructure.
35
+
-**Housekeeping** - Basic repository maintenance tasks, like enabling `black`, introducing pre-commit hooks, `towncrier`, and automating release infrastructure.
36
36
-**Example consolidation** - Toga's examples folder has become a sprawling collection of code that is part documentation, part testbed. We need to start consolidating these examples into 2 apps - one that is a user-facing demonstrator of Toga features, and one that can be used as a functional test of Toga features.
37
37
-**Testing** - Modernizing and cleaning up the existing test suite, and working out how to automate GUI tests
38
38
-**Documentation** - Toga's documentation has lagged behind an acceptable standard for a long time,
Copy file name to clipboardExpand all lines: docs/en/news/posts/2022/buzz/september-2022-status-update.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ On iOS, we've [reworked how the support packages are constructed](https://github
33
33
34
34
While we are now able to support binary packages on mobile platforms, this doesn't mean that *every* binary package is automatically supported. Binary wheels need to be compiled for mobile platforms, and compiling for mobile platforms can be complicated. However, we've compiled ~40 of them most popular packages with binary components (including NumPy, Pandas, Cryptography, Pillow and Matplotlib), and made them available as dependencies. In order to get working builds, some of these packages are slightly older versions (e.g., cryptography is a version from before the introduction of the rust dependency); however, we've endeavored to provide the most recent versions possible.
35
35
36
-
A full list of supported packages can be found [on the Chaquopy package repository for Android](https://chaquo.com/pypi-7.0/), and the [BeeWare repository for iOS](https://anaconda.org/beeware/repo). If your project uses one of these packages, you only need to add them to the `requires` definition in your `pyproject.toml`, then update and re-build your project, and you're done.
36
+
A full list of supported packages can be found [on the Chaquopy package repository for Android](https://chaquo.com/pypi-7.0/), and the [BeeWare repository for iOS](https://anaconda.org/beeware/repo). If your project uses one of these packages, you only need to add them to the `requires` definition in your `pyproject.toml`, then update and re-build your project, and you're done.
37
37
38
38
If there’s a package you want that isn't on this list, you'll need to request a binary wheel. For Android, [open a ticket on the Chaquopy repository](https://github.com/chaquo/chaquopy/issues). For iOS, [open a ticket on this repository](https://github.com/freakboy3742/chaquopy). If you're adventurous, you can also try building wheels yourself. The issue trackers are on a project that has as "forge-like" tool for building wheels, in the `server/pypi` folder; there are tools and documentation describing how to build a package. The use of these projects is a short-term measure; in the longer term, we want to move to an actual “forge”-style community-managed model for managing binary packages.
0 commit comments