Giter Site home page Giter Site logo

beeware's Introduction

logo

BeeWare

Python Versions PyPI Version Maturity BSD License Build Status Discord server

BeeWare is a collection of tools and libraries for building and distributing native applications in Python.

For an introduction to the full BeeWare suite, we recommend running the BeeWare Tutorial.

Community

You can talk to the BeeWare community through:

We foster a welcoming and respectful community as described in our BeeWare Community Code of Conduct.

Contributing

If you experience problems with BeeWare, log them on GitHub. If you want to contribute code, please fork the code and submit a pull request.

Translations

Translation status

We manage translations using Weblate.

Translation status

If you'd like to contribute to the translation effort, join the #translations channel on Discord and introduce yourself!

beeware's People

Contributors

adnansyed13 avatar atalanttore avatar bengosney avatar brutusthebee avatar cagatay-y avatar cbouss avatar dependabot[bot] avatar djheels avatar freakboy3742 avatar glasnt avatar jchenj avatar jeffpeng3 avatar joaovitorpmoreira avatar kamyar avatar marcoesters avatar meichthys avatar mhsmith avatar paulproteus avatar proneon267 avatar rmartin16 avatar sahilnagpure07 avatar sankarebarri avatar scott-larsen avatar spiliot avatar spon-ww avatar theliminal avatar wadeevans avatar xymsyh avatar yaakov-h avatar yankiwi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beeware's Issues

Need Help Figuring Out What I'm Not Understanding

If I run the application I have made using the command python -m application name it runs and does get a window, but I i use the beeware run appname route or the briefcase python setup.py linux -s route I get this error that is associated with podium. However, I built podium from scratch and verified it working but when I use either method it simply opens a window showing the files in a file manager window without actually starting the code I wrote. Below is the error I keep getting if I don't install podium.

(venv) cchatmon@Amethyst:~/Desktop/beeware/claron$ beeware run linux
Running Briefcase...
>>> python setup.py linux -s

running linux

 * Updating user code...
 * Installing requirements...
No requirements.
 * Installing platform requirements...
Collecting toga-gtk==0.3.0.dev11
  Using cached https://files.pythonhosted.org/packages/58/03/fd1b50d3e694191119e828e1455309e265cb80a17ea3a1f39eb0b411dc26/toga_gtk-0.3.0.dev11-py3-none-any.whl
Collecting toga-core==0.3.0.dev11 (from toga-gtk==0.3.0.dev11)
  Using cached https://files.pythonhosted.org/packages/e0/d2/725f505441428638d97cde2eea794a6a328deeec58bfd615fd3a71baa8ad/toga_core-0.3.0.dev11-py3-none-any.whl
Collecting pycairo>=1.17.0 (from toga-gtk==0.3.0.dev11)
Collecting pygobject>=3.14.0 (from toga-gtk==0.3.0.dev11)
Collecting gbulb>=0.5.3 (from toga-gtk==0.3.0.dev11)
Collecting travertino>=0.1.0 (from toga-core==0.3.0.dev11->toga-gtk==0.3.0.dev11)
  Using cached https://files.pythonhosted.org/packages/56/3f/f03efe63c2bdc72763ac39777c9ebbab98605ced5c74aefe48b4fa0abb4d/travertino-0.1.2-py3-none-any.whl
ERROR: toga 0.3.0.dev13 has requirement toga-gtk==0.3.0.dev13; sys_platform == "linux", but you'll have toga-gtk 0.3.0.dev11 which is incompatible.
Installing collected packages: travertino, toga-core, pycairo, pygobject, gbulb, toga-gtk
Successfully installed gbulb-0.6.1 pycairo-1.18.1 pygobject-3.32.2 toga-core-0.3.0.dev11 toga-gtk-0.3.0.dev11 travertino-0.1.2
 * Installing project code...
Processing /home/cchatmon/Desktop/beeware/claron
Building wheels for collected packages: claron
  Building wheel for claron (setup.py) ... done
  Created wheel for claron: filename=claron-0.0.1-cp35-none-any.whl size=3142 sha256=5a9e38b3c2540be368f2116a278ad0c6cb667892fe020e7633268b622e50208d
  Stored in directory: /tmp/pip-ephem-wheel-cache-5goo0afd/wheels/9b/38/a6/5baa2cd9a8662afc2548a73864c21c40936a22c2ecc9da4dfb
Successfully built claron
Installing collected packages: claron
Successfully installed claron-0.0.1
 * No icons defined - using default...
 * No splash screen defined...

Installation complete.
Starting Claron
/home/cchatmon/Desktop/beeware/venv/bin/python3: No module named podium

App started.

MarkupSafe dependency

Following the beeware tutorial, I installed beeware on ubuntu-16.04 Docker image, in order to build an AppImage:

$ apt-get update
$ apt-get install git python3-dev python3-pip libgirepository1.0-dev libcairo2-dev libpango1.0-dev libwebkitgtk-3.0-0 gir1.2-webkit-3.0
$ python3 -m pip install --pre beeware

However this was not sufficient and I had to install the MarkupSafe Python package:

python3 -m pip install MarkupSafe

It could be practical to add the MarkupSafe package as a dependency in order automatically install it with pip install beeware.

Add an example of adding an external package to the demo project

A recurring question on the bug tracker and chat room is confusion over why an app works in the dev environment, but doesn't work under briefcase run (especially on mobile).

The fix is almost always easy - add your requirements to pyproject.toml, in the requires declaration.

This isn't ever explicitly called out in the tutorial - but it should be. requires is the one field that almost every project will need to interact with, so we should point this out during the tutorial.

Describe the solution you'd like

An addition to the tutorial that requires the addition of an external module installed from pip.

The "Updating dependencies and icons" step on tutorial 4 potentially provides a good entry to this discussion; having modified the app to include a dialog, we could introduce another code change that depends on some external code module. requests/httpx would be a good option - adding some value retrieved from a REST API (say, the most toga version on PyPI?) to the content output by the dialog.

This has the added benefit that it shows off a feature that is likely to be a common requirement for real-world apps.

Tutorial App (Helloworld) not responding (windows 10, python3.8)

In tutorial Step 1, when I do briefcase dev I get the following:

(beeware-venv) D:\prog\beeware-tutorial\helloworld>briefcase dev

[helloworld] Installing dependencies...
Requirement already up-to-date: toga-winforms>=0.3.0.dev18 in d:\prog\beeware-tutorial\beeware-venv\lib\site-packages (0.3.0.dev19)
Requirement already satisfied, skipping upgrade: toga-core==0.3.0.dev19 in d:\prog\beeware-tutorial\beeware-venv\lib\site-packages (from toga-winforms>=0.3.0.dev18) (0.3.0.dev19)
Collecting pythonnet
  Using cached pythonnet-2.4.0.tar.gz (1.8 MB)
    ERROR: Command errored out with exit status 1:
     command: 'd:\prog\beeware-tutorial\beeware-venv\scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Ventas\\AppData\\Local\\Temp\\pip-install-bbm9u1cw\\pythonnet\\setup.py'"'"'; __file__='"'"'C:\\Users\\Ventas\\AppData\\Local\\Temp\\pip-install-bbm9u1cw\\pythonnet\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Ventas\AppData\Local\Temp\pip-pip-egg-info-fn5afizt'
         cwd: C:\Users\Ventas\AppData\Local\Temp\pip-install-bbm9u1cw\pythonnet\
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\Ventas\AppData\Local\Temp\pip-install-bbm9u1cw\pythonnet\setup.py", line 18, in <module>
        from wheel import bdist_wheel
    ModuleNotFoundError: No module named 'wheel'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Unable to install dependencies. This may be because one of your dependencies is invalid, or because pip was unable to connect to the PyPI server.

(beeware-venv) D:\prog\beeware-tutorial\helloworld>

I try to downgrade python to 3.7 and after installing pythonnet-2.4.1.dev0-cp38-cp38-win32.whl

The app start, but not respond (NOT RESPONDING)

Simplify onboarding process

Our current dilemma: BeeWare has been (deliberately) structured as an umbrella project. As a result, there a whole bunch of different ways that people discover the project - some via beeware.org, some via a page on beeware.org, some via twitter, some via Github repositories.

The β€œumbrella” nature means that there are a bunch of smaller projects too - you don’t β€œUse beeware” or β€œinstall beeware” - you use Briefcase, or Toga, or VOC, or Batavia, and the pieces stack on top of each other to build a whole project.

But, this means that if you’re a first time arrival at the project, it can get confusing. And it gets confusing for us, too - someone says β€œI’m having a problem with the tutorial”, and we literally don’t know which tutorial they’re doing.

So - we need to work on our onboarding process.

The idea:

We make better use of the tutorial on this project (beeware). This project is a thin shim that installs other projects (like toga and briefcase), and provides a simplified interface to calling out to the other projects. That makes it an excellent starting point, so we turn the tutorial for beeware into the starting point for the whole project.

That entry point can also explain the bigger picture, like how the big pieces fit together, and can also funnel people into specific paths, and provide broad warnings - so, if people are interested in Django or Android as backends, they get a heads up that things are broken.

We can then funnel people from other projects to this tutorial, removing the project-specific tutorials for Toga, Briefcase etc - or, at least, to make β€œtutorial 0” of Toga, Briefcase etc a β€œgo do the beeware tutorial", and make the tutorials for specific projects about how to drive deeper configuration of the tool.

The main website should also funnel people to this tutorial as part of the onboarding process.

Individual project READMEs should also be modified to direct people to the unified beeware tutorial.

Update Text In Tutorial

Describe the bug
There are two places where the tutorial text should be updated to fix either a spelling error or to provide better clarity.

To Reproduce
Steps to reproduce the behavior:
Text Issue 1

  1. GIVEN the user is following the Beeware Android tutorial
  2. AND the user navigates to the "Tutorial 5 - Taking it Mobile" page
  3. WHEN the user scrolls down to the text right above the "Next Steps" section
  4. THEN the text "In future" should be displayed as "In the future"

Text Issue 2

  1. GIVEN the user is following the Beeware tutorial
  2. AND the user navigates to the "Tutorial 7 - Publishing your app" page
  3. AND the user is reading the text in the "Next steps" section
  4. THEN the word "taster" should be displayed as "taste"

Expected behavior
Text Issue 1 - Suggest updating the text "In future" to "In the future"
Text Issue 2 - Suggest updating the text "taster" to "taste"

Screenshots
Text Issue 1
test_issue_1

Text Issue 2
test_issue_2

Environment:

  • Chrome Version 85.0.4183.102 (Official Build) (64-bit)

Additional context

  • NA

pip install beeware on Ubuntu 18.04

pip install beeware on Ubuntu 18.04
Python : 3.6.7
pip : 9.0.1

ERROR

  • Failed building wheel for pygobject
  • Failed building wheel for pycairo
  • making pip package corrupted

Where are beeware files installed?

Hello!

This project seems very interesting and all, but the downside is that the files needed to create an executable are too big. I am referring mostly to Android, which requires a lot of files in order to compile an app. I would like to uninstall all the android components from my PC due to space constraints, but I cannot seem to find where they have been installed. I deleted the android folder from my Python folder, as well as gradle and android studio. However, I still have a few more gigabytes to delete and I can't find them. When beeware downloads jdk, for example, where is it downloaded? How can I find all beeware components and delete the ones I do not currently need?

pip install fails on Fedora 30

pip install beeware
Collecting beeware
  Using cached https://files.pythonhosted.org/packages/34/10/7e2afc95a9290e827b83b634b982dfd969f908f6dbbfa6ecd153532c7863/beeware-0.1.1-py2.py3-none-any.whl
Collecting toga>=0.3.0.dev2 (from beeware)
  Using cached https://files.pythonhosted.org/packages/5e/ce/527019cffe9a34a7a9fd49a2c2e0f0b47fcda8dcd3ee6a3f406a5f25459a/toga-0.3.0.dev12-py3-none-any.whl
Requirement already satisfied: briefcase in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from beeware) (0.2.9)
Collecting toga-gtk==0.3.0.dev12; sys_platform == "linux" (from toga>=0.3.0.dev2->beeware)
  Using cached https://files.pythonhosted.org/packages/24/77/0ea2d636b7d1f2c4dd1a02c436c0439b5be65e9b39655fd13c6bf939c6bc/toga_gtk-0.3.0.dev12-py3-none-any.whl
Requirement already satisfied: pip>=18.0 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (19.1.1)
Requirement already satisfied: dmgbuild>=1.3.2 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (1.3.2)
Requirement already satisfied: setuptools>=40.0 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (41.0.1)
Requirement already satisfied: urllib3<1.24 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (1.23)
Requirement already satisfied: cookiecutter>=1.0 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (1.6.0)
Requirement already satisfied: boto3>=1.4.4 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (1.9.188)
Requirement already satisfied: requests<3.0 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (2.22.0)
Requirement already satisfied: voc>=0.1.1 in /home/jflabonte/Development/beeware/beeware/lib/python3.6/site-packages (from briefcase->beeware) (0.1.6)
Collecting gbulb>=0.5.3 (from toga-gtk==0.3.0.dev12; sys_platform == "linux"->toga>=0.3.0.dev2->beeware)
Collecting pygobject>=3.14.0 (from toga-gtk==0.3.0.dev12; sys_platform == "linux"->toga>=0.3.0.dev2->beeware)
Collecting toga-core==0.3.0.dev12 (from toga-gtk==0.3.0.dev12; sys_platform == "linux"->toga>=0.3.0.dev2->beeware)
  ERROR: Could not find a version that satisfies the requirement toga-core==0.3.0.dev12 (from toga-gtk==0.3.0.dev12; sys_platform == "linux"->toga>=0.3.0.dev2->beeware) (from versions: 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.9, 0.2.10, 0.2.11, 0.2.12, 0.2.13, 0.2.14, 0.2.15, 0.3.0.dev1, 0.3.0.dev2, 0.3.0.dev3, 0.3.0.dev4, 0.3.0.dev5, 0.3.0.dev6, 0.3.0.dev7, 0.3.0.dev8, 0.3.0.dev9, 0.3.0.dev10, 0.3.0.dev11)
ERROR: No matching distribution found for toga-core==0.3.0.dev12 (from toga-gtk==0.3.0.dev12; sys_platform == "linux"->toga>=0.3.0.dev2->beeware)

how to use `pycryptodome` in ios project?

recently, I worked with the beeware tools to build a ios project, in python code i need the pycryptodome(a self-contained Python package of low-level cryptographic primitives) which contains some .so in it's package, however ,it doesn't work at all?? how can i do ??

Android SDK can not be downloaded anymore

Hello,

I was starting to use briefcase following the tutorial but got stuck on the briefcase create android step.
Apparently the Android SDK is no longer supported and cannot be downloaded anymore. I get the following error message while I am in fact online.

Unable to download Android SDK; is your computer offline?
To recreate the issue you should start without the Android SDK and try briefcase create android.
Sorry if this is a stupid question or not even a bug.

Kind regards

Python 3.6
briefcase 0.3.3

Error: pip install --pre beeware

ERROR: Command errored out with exit status 1:
 command: 'c:\users\bonemy\beeware-tutorial\beeware-venv\scripts\python.exe'

-c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Bonemy\App
Data\Local\Temp\pip-install-_iyuk3o7\pythonnet\setup.py'"'"'; file='"'"
'C:\Users\Bonemy\AppData\Local\Temp\pip-install-_iyuk3o7\pythonnet\setup
.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().repla
ce('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exe
c'"'"'))' egg_info --egg-base 'C:\Users\Bonemy\AppData\Local\Temp\pip-install-_i
yuk3o7\pythonnet\pip-egg-info'
cwd: C:\Users\Bonemy\AppData\Local\Temp\pip-install-_iyuk3o7\pythonnet\

Complete output (5 lines):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Bonemy\AppData\Local\Temp\pip-install-_iyuk3o7\pythonnet\se

tup.py", line 18, in
from wheel import bdist_wheel
ModuleNotFoundError: No module named 'wheel'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check th
e logs for full command output.

Installing beeware fails to pip install on Windows 10/Python 3.7

Attempted to pip install beeware into a fresh virtual enviroment in Windows. Package pythonnet fails to install, pythonnet's docs state it works with Python<=3.6. Botocore 1.12.26 also failed to install, shows it requires urllib3<1.24,>=1.20, but urllib3 1.24 is installed which fails.

Physical Device not detected while using briefcase run android

Describe the bug
I connected my laptop to my mobile (in developers mode) and tried running briefcase run android. But it does not show up any physical device. My laptop does not have a UEFI mode, it is in Legacy mode. In case, this is the issue then please include a turnaround way for this. Also, I had to install Android studio for using the emulator and work using 'arm' as it is the only one that works with Legacy mode. Can you add some of the ways that people with different sets of system configuration can work through the tutorial.

Expected behavior
My device is detected using the briefcase run android or any other way to use my device for demo checking of the app.

Environment:

  • Operating System: Windows 10
  • Python version: 3.6.4

briefcase package windows msi: error: unrecognized arguments: -u

Describe the bug

In Tutorial 5, there says:

The package command also accepts the -u argument, so if you make a change to your application code and want to repackage immediately, you can run briefcase package -u.

but it does not work and got error:

usage: briefcase update windows msi [-h] [-v] [-V] [--no-input] [-d] [-r]
briefcase update windows msi: error: unrecognized arguments: -u

Is it removed?

Environment:

  • Operating System: Windows 10
  • Python version: 3.8.2
  • Software versions:
    • Briefcase: 0.3.5

Consolidating documentation that is common across almost all BeeWare projects

There are a few documentation sections that appear in almost every BeeWare project's documentation, often with very similar or identical content. Examples of this include the how-to guides for contributing to the code and documentation. All BeeWare projects are hosted on GitHub, and most of them are Python-based with reStructuredText documentation. This means that these documentation sections almost always describe the same steps:

  • For code contributions:
    • Clone the repo
    • Set up a virtual environment
    • Install test dependencies from a requirements.txt file
    • Run the test suite
  • For documentation contributions
    • Install documentation build dependencies from a requirements.txt file
    • Run Sphinx to build the docs
    • View the docs in a browser

These instructions always describe the same processes, but the exact instructions often vary between projects - for example Briefcase has Windows, Mac and Linux instructions that clone via HTTPS and use venv, whereas Ouroboros has Unix-only instructions that clone via SSH and use mkvirtualenv.

In most cases these differences are accidental - often the instructions were initially copied from another BeeWare project, but afterwards they were modified independently in one project without updating the other projects. This is problematic - contributing fixes/improvements to these docs requires updating many independent projects, and there is no good reason why each BeeWare project should have different instructions for the same processes in the first place. To solve these accidental discrepancies, the common parts of the documentation could be moved into a central repository (such as this one).

However, there are a few complications with this. Sometimes there are good reasons why projects have differing documentation on the same topic. For example, Briefcase uses PyTest for testing, whereas rubicon-objc uses unittest, and VOC uses a custom test runner - each of which needs to be set up and called differently. This kind of information has to be maintained per-project. It's also not clear how the central documentation would be shared across projects - should it be included into each project's documentation page (with template-style substitutions for project name, etc.), or should it be hosted in one place and linked from each project?

I would be interested in thoughts/opinions on whether it would be worthwile to consolidate parts of the documentation like this, or whether it would be too much work for too little benefit.

Note: I'm writing this from my viewpoint as a Rubicon-ObjC developer. I'm not an active contributor in any other BeeWare projects at the moment, and I'm less familiar with their development workflows and documentation, so I'd be interested in hearing what contributors to other BeeWare projects would think about this.


This is a follow-up to this review discussion thread on the rubicon-objc repo.

Running macos target fails

Using Python 3.6.5, I created a new app with a run of beeware new; using all the default values that cookiecutter suggests as a default path.

Running beeware build macos works out fine, but running it fails:

Error: LSOpenURLsWithRole() failed with error -10810 for the file (...)

Full output:

$ beeware run macos
Running Briefcase...
>>> python setup.py macos -s

running macos

 * Updating user code...
 * Installing requirements...
No requirements.
 * Installing platform requirements...
Collecting toga-cocoa==0.3.0.dev8
  Using cached https://files.pythonhosted.org/packages/21/34/89be59bdf2877c8b074dd7d6be26e77a6ffa488be1d47bc9b932579062d0/toga_cocoa-0.3.0.dev8-py3-none-any.whl
Collecting rubicon-objc>=0.2.10 (from toga-cocoa==0.3.0.dev8)
  Using cached https://files.pythonhosted.org/packages/35/b0/aa6d839057126991d16a591c74e24c075797db7436d6c0d6e655a3e15b3a/rubicon_objc-0.2.10-py2.py3-none-any.whl
Collecting toga-core==0.3.0.dev8 (from toga-cocoa==0.3.0.dev8)
  Using cached https://files.pythonhosted.org/packages/a4/2e/4757cadb2206e2f6bb6136fda395dbec2d84bda86b77b5713f435b0fdb60/toga_core-0.3.0.dev8-py3-none-any.whl
Collecting travertino>=0.1.0 (from toga-core==0.3.0.dev8->toga-cocoa==0.3.0.dev8)
  Using cached https://files.pythonhosted.org/packages/56/3f/f03efe63c2bdc72763ac39777c9ebbab98605ced5c74aefe48b4fa0abb4d/travertino-0.1.2-py3-none-any.whl
Installing collected packages: rubicon-objc, travertino, toga-core, toga-cocoa
Successfully installed rubicon-objc-0.2.10 toga-cocoa-0.3.0.dev8 toga-core-0.3.0.dev8 travertino-0.1.2
 * Installing project code...
Processing /Users/hendrikmaus/Development/playground/beeware/appname
Building wheels for collected packages: appname
  Running setup.py bdist_wheel for appname ... done
  Stored in directory: /private/var/folders/hc/bd6lpj810hl1t9h3ymt32f7c0000gn/T/pip-ephem-wheel-cache-stfbp900/wheels/04/b4/66/794e976fb020ab3df2fa991025c119ec2795bd43b2f85e95cc
Successfully built appname
Installing collected packages: appname
Successfully installed appname-0.0.1
 * No icons defined - using default...
 * No splash screen defined...

Installation complete.
Starting App Name.app
LSOpenURLsWithRole() failed with error -10810 for the file /Users/hendrikmaus/Development/playground/beeware/appname/macOS/App Name.app.

App started.

helloworld runs fine on dev mode but on on run mode

For some reason my program runs fine on dev mode but not in run mode

I just started using beeware and have been following the tutorial series on beeware's site. I have followed the tutorial step by step but when I type "briefcase run" I get an error saying "Unable to start app HelloWorld". I found that more people had the same problem in some of their own projects and they didn't find a solution. I am doing this on windows 10 and using python 3.5.4.

Ξ£Ο„ΞΉΞ³ΞΌΞΉΟŒΟ„Ο…Ο€ΞΏ ΞΏΞΈΟŒΞ½Ξ·Ο‚ (165)

Add instructions to remove a VENV in tutorial

Hello!

I've been wanting to contribute for a bit, and I've been given that opportunity in the tutorial (https://docs.beeware.org/en/latest/tutorial/tutorial-0.html). In the "Set up a virtual environment" section, the tutorial explains perfectly how to create a VENV, and why it is important. However, more clarification on how to delete it would be useful: online resources only talk about virtualenv. This would be a minor change, but greatly contribute to the reader's understanding. As far as I know, it is extremely simple: typing $ deactivate is enough, and I think deleting the directory works as well. It would also allow the reader to start anew if they made a mess with their tool installation. I could edit the files myself, but being new to GitHub and open-source I have no idea of the file structure, and how to find the actual HTML! If someone can help me find it, it would be much appreciated!

[BUG] Briefcase tutorial new application details are out of order

Order of the new application details in the Briefcase tutorial looks to be out of order. In a clean Python 3.7 conda environment with a pip install, I get:

Let's build a new Briefcase app!


First, we need a formal name for your application. This is the name that will
be displayed to humans whenever the name of the application is displayed. It
can have spaces and punctuation if you like, and any capitalization will be
used as you type it.

Formal Name [Hello World]: 

Next, we need a name that can serve as a machine-readable Python package name
for your application. This name must be PEP508-compliant - that means the name
may only contain letters, numbers, hypehns and underscores; it can't contain
spaces or punctuation, and it can't start with a hyphen or underscore.

Based on your formal name, we suggest an app name of 'helloworld',
but you can use another name if you want.

App Name [helloworld]: 

Now we need a bundle identifier for your application. App stores need to
protect against having multiple applications with the same name; the bundle
identifier is the namespace they use to identify applications that come from
you. The bundle identifier is usually the domain name of your company or
project, in reverse order.

For example, if you are writing an application for Example Corp, whose website
is example.com, your bundle would be ``com.example``. The bundle will be
combined with your application's machine readable name to form a complete
application identifier (e.g., com.example.helloworld).

Bundle Identifier [com.example]: 

The docs suggest it will be:

Formal Name - Accept the default value: Hello World.
App Name - Accept the default value: helloworld.
Project Name - Accept the default value: Hello World.
Description - Accept the default value (or, if you want to be really creative, come up wit your own description!)
Author - Enter your own name here.
Author email - Enter your own email address. This wil only appear in the
Bundle - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain β€œcupcakes.com”, enter com.cupcakes as the bundle). If you don’t own your own domain, accept the default bundle (com.example).
...

Conda environment:

(beeware) nickbecker helloworld $ conda list
# packages in environment at /Users/nickbecker/miniconda3/envs/beeware:
#
# Name                    Version                   Build  Channel
arrow                     0.15.4                   pypi_0    pypi
beeware                   0.3.0.dev1               pypi_0    pypi
binaryornot               0.4.4                    pypi_0    pypi
biplist                   1.0.3                    pypi_0    pypi
boto3                     1.10.45                  pypi_0    pypi
botocore                  1.13.45                  pypi_0    pypi
briefcase                 0.3.0.dev1               pypi_0    pypi
ca-certificates           2019.11.27                    0  
certifi                   2019.11.28               py37_0  
chardet                   3.0.4                    pypi_0    pypi
click                     7.0                      pypi_0    pypi
cookiecutter              1.7.0                    pypi_0    pypi
dmgbuild                  1.3.3                    pypi_0    pypi
docutils                  0.15.2                   pypi_0    pypi
ds-store                  1.1.2                    pypi_0    pypi
future                    0.18.2                   pypi_0    pypi
gitdb2                    2.0.6                    pypi_0    pypi
gitpython                 3.0.2                    pypi_0    pypi
idna                      2.8                      pypi_0    pypi
jinja2                    2.10.3                   pypi_0    pypi
jinja2-time               0.2.0                    pypi_0    pypi
jmespath                  0.9.4                    pypi_0    pypi
libcxx                    4.0.1                hcfea43d_1  
libcxxabi                 4.0.1                hcfea43d_1  
libedit                   3.1.20181209         hb402a30_0  
libffi                    3.2.1                h475c297_4  
mac-alias                 2.0.7                    pypi_0    pypi
markupsafe                1.1.1                    pypi_0    pypi
ncurses                   6.1                  h0a44026_1  
openssl                   1.1.1d               h1de35cc_3  
pip                       19.3.1                   py37_0  
poyo                      0.5.0                    pypi_0    pypi
python                    3.7.5                h359304d_0  
python-dateutil           2.8.1                    pypi_0    pypi
readline                  7.0                  h1de35cc_5  
requests                  2.22.0                   pypi_0    pypi
rubicon-objc              0.3.1                    pypi_0    pypi
s3transfer                0.2.1                    pypi_0    pypi
setuptools                42.0.2                   py37_0  
six                       1.13.0                   pypi_0    pypi
smmap2                    2.0.5                    pypi_0    pypi
sqlite                    3.30.1               ha441bb4_0  
tk                        8.6.8                ha441bb4_0  
toga                      0.3.0.dev15              pypi_0    pypi
toga-cocoa                0.3.0.dev15              pypi_0    pypi
toga-core                 0.3.0.dev15              pypi_0    pypi
toml                      0.10.0                   pypi_0    pypi
travertino                0.1.2                    pypi_0    pypi
urllib3                   1.25.7                   pypi_0    pypi
wheel                     0.33.6                   py37_0  
whichcraft                0.6.1                    pypi_0    pypi
xz                        5.2.4                h1de35cc_4  
zlib                      1.2.11               h1de35cc_3  

Apps with Multiple Views

I don't think this has been properly answered before, but I have seen a few questions on StackOverflow asking whether it is possible to set up multiple views which can be accessed through a button click for example.

Is this a 'feature' that already exists but not documented or something that will be added in the future?

more examples needed.

just had an example for hello world,
would you like to provide more examples about the buttons textbox and some Common components。
THANKS

Improving linux scaffolding instructions

I've just went through the tutorial and they're great. The only thing I believe can be improved is the section that talk about creating the scaffolds on linux. The tutorial gives 4 options and while the instructions are complete I found them to be too detailed for a tutorial.

I would be happy to update the docs so we keep the option of building on my machine, explaining its limitations - supporting only mine and newer libc - and add a link to an How To guide in briefcase docs. This guide should explain the libc limitations and provide the instructions for building it in a docker or adding it as a git hub action.

DetaildList not working on Ubuntu

Here is the code that doesn't work:

self.chat = toga.DetailedList(data=[])

It gives me the following error:

[GTK+] Not implemented: DetailedList.rehint()

Everything else is working perfectly so far.

Thank you for any help towards the solution.

Win/docker/Ubuntu errors

I've tried to use the beeware tutorial many times with planty of different ways. The following errors keep coming up:

Windows 10:

Collecting pythonnet
Using cached pythonnet-2.4.0.tar.gz (1.8 MB)
ERROR: Command errored out with exit status 1:
command: 'c:\users\jf\beeware-tutorial\beeware-venv\scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\jf\AppData\Local\Temp\pip-install-_5p6efq6\pythonnet\setup.py'"'"'; file='"'"'C:\Users\jf\AppData\Local\Temp\pip-install-_5p6efq6\pythonnet\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\jf\AppData\Local\Temp\pip-install-_5p6efq6\pythonnet\pip-egg-info'
cwd: C:\Users\jf\AppData\Local\Temp\pip-install-_5p6efq6\pythonnet
Complete output (5 lines):
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\jf\AppData\Local\Temp\pip-install-_5p6efq6\pythonnet\setup.py", line 18, in
from wheel import bdist_wheel
ModuleNotFoundError: No module named 'wheel'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

############################################################################

docker:

after installing beeware as explained in docker (ubuntu 16.04)

root@90bdda6ca734:/# briefcase new
bash: briefcase: command not found

############################################################################

Ubuntu 16.04 in virtualbox:

(beeware-venv) joel@joel-vm-ubuntu:~/beeware-tutorial$ briefcase new
Traceback (most recent call last):
File "/home/joel/beeware-tutorial/beeware-venv/bin/briefcase", line 7, in
from briefcase.main import main
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/briefcase/main.py", line 3, in
from .cmdline import parse_cmdline
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/briefcase/cmdline.py", line 6, in
from briefcase.commands import DevCommand, NewCommand
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/briefcase/commands/init.py", line 1, in
from .build import BuildCommand # noqa
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/briefcase/commands/build.py", line 5, in
from .base import BaseCommand, full_kwargs
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/briefcase/commands/base.py", line 15, in
from cookiecutter.main import cookiecutter
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/cookiecutter/main.py", line 15, in
from .generate import generate_context, generate_files
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/cookiecutter/generate.py", line 15, in
from jinja2 import FileSystemLoader
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/jinja2/init.py", line 8, in
from .bccache import BytecodeCache
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.5/site-packages/jinja2/bccache.py", line 207
dirname = f"_jinja2-cache-{os.getuid()}"
^
SyntaxError: invalid syntax

window tesseract on android

I am trying to create an application on android but holding the window native tesseract OCR.
Naturally, the app runs fine in dev mode....but fails in running mode...since the independent application although having pytesseract does not have the tesseract binary.

So is there any way to help pytesseract use the tesseract binary in run mode?

Also, I want to know how to put briefcase in debug mode....(for me to see the exact issue why the app is not running in run mode)

for example it just says this

briefcase run

[helloworld] Starting app...


Unable to start app helloworld.

Please help, thanks

Linux build not working

Hi, When I try to build beeware(toga+briefcase) app in Linux its shows the following error. Kindly let me know the reason for this error.

Error:
-- Deploying dependencies for existing files in AppDir --
Deploying dependencies for ELF file /home/zerrow/Desktop/beeware/helloworld/linux/Hello World/Hello World.AppDir/usr/bin/python3.8
Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libpthread.so.0
Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libdl.so.2
Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libutil.so.1
Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libm.so.6
Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libc.so.6
Deploying dependencies for ELF file /home/zerrow/Desktop/beeware/helloworld/linux/Hello World/Hello World.AppDir/usr/lib/python3.8/lib-dynload/_lsprof.cpython-38-x86_64-linux-gnu.so
Deploying dependencies for ELF file /home/zerrow/Desktop/beeware/helloworld/linux/Hello World/Hello World.AppDir/usr/lib/python3.8/lib-dynload/_codecs_iso2022.cpython-38-x86_64-linux-gnu.so
Deploying dependencies for ELF file /home/zerrow/Desktop/beeware/helloworld/linux/Hello World/Hello World.AppDir/usr/lib/python3.8/lib-dynload/_codecs_jp.cpython-38-x86_64-linux-gnu.so
Deploying dependencies for ELF file /home/zerrow/Desktop/beeware/helloworld/linux/Hello World/Hello World.AppDir/usr/lib/python3.8/lib-dynload/_gdbm.cpython-38-x86_64-linux-gnu.so
ERROR: Could not find dependency: libgdbm.so.3
ERROR: Failed to deploy dependencies for existing files

Error while building app helloworld.

Device:

  • Operating System: linux mint 20
  • Python version: 3.8

Windows with Python 3.8 produces unresponsive app

We have had multiple reports of the BeeWare tutorial producing an app that will start, but then becomes non-responsive.

If you are running Windows, and are using Python 3.8, this is a known problem.

The tutorial specifically advises that you do not use Python 3.8 on Windows.

The only known fix at this time is to downgrade to Python 3.7.

Move section on possible installation errors from `Install the Beeware Tools` to `Bootstrap a new project`

Is your feature request related to a problem? Please describe.
Currently, pythonnet is not pip-installable with Python 3.9. There is a really good explanation of what can be done instead in the section called Install the Beeware Tools. However, this section relates to the briefcase new command, which installs briefcase-specific packages, and doesn't cause problems. The error arises during the next step, when you run briefcase dev and the pythonnet package is installed.

Describe the solution you'd like
I think it would be clearer for beginners if we move the section on installation problems to the Bootstrap a new project section.

ImportError: Failed to initialize: Bad git executable

After updating GitPython on v0.3.0 the following errors came:
`(beeware-venv) joel@joels-pc:~/beeware-tutorial$ briefcase new
Traceback (most recent call last):
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/git/init.py", line 83, in
refresh()
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/git/init.py", line 73, in refresh
if not Git.refresh(path=path):
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/git/cmd.py", line 278, in refresh
raise ImportError(err)
ImportError: Bad git executable.
The git executable must be specified in one of the following ways:
- be included in your $PATH
- be set via $GIT_PYTHON_GIT_EXECUTABLE
- explicitly set via git.refresh()

All git commands will error until this is rectified.

This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:
- quiet|q|silence|s|none|n|0: for no warning or exception
- warn|w|warning|1: for a printed warning
- error|e|raise|r|2: for a raised exception

Example:
export GIT_PYTHON_REFRESH=quiet

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/joel/beeware-tutorial/beeware-venv/bin/briefcase", line 7, in
from briefcase.main import main
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/briefcase/main.py", line 3, in
from .cmdline import parse_cmdline
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/briefcase/cmdline.py", line 6, in
from briefcase.commands import DevCommand, NewCommand
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/briefcase/commands/init.py", line 1, in
from .build import BuildCommand # noqa
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/briefcase/commands/build.py", line 5, in
from .base import BaseCommand, full_kwargs
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/briefcase/commands/base.py", line 17, in
from git import exc as git_exceptions
File "/home/joel/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/git/init.py", line 85, in
raise ImportError('Failed to initialize: {0}'.format(exc))
ImportError: Failed to initialize: Bad git executable.
The git executable must be specified in one of the following ways:
- be included in your $PATH
- be set via $GIT_PYTHON_GIT_EXECUTABLE
- explicitly set via git.refresh()

All git commands will error until this is rectified.

This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:
- quiet|q|silence|s|none|n|0: for no warning or exception
- warn|w|warning|1: for a printed warning
- error|e|raise|r|2: for a raised exception

Example:
export GIT_PYTHON_REFRESH=quiet

`

Build target django fails for Python 3.6

Beeware fails when trying to build the django target with Python 3.6:

$ beeware build django
Running Briefcase...
>>> python setup.py django

running django
 * Writing application template...
There is no branch for Python version '3.6' (existing branches:  3.4, 3.5, master).
Directory /Users/hendrikmaus/.cookiecutters/Python-Django-template isn't a valid template (no cookiecutter.json found).

Dash Incompatibility

Describe the bug
when importing Dash the app fails to run. No issues in dev environment though

To Reproduce
import dash and create/build/run briefcase
app fails to run

Environment:

  • Operating System: Windows 10
  • Python version: 3.8.7
  • Software versions:
    • Briefcase: 0.3.4

error: ModuleNotFoundError: No module named 'gitdb.utils.compat'

Got this error many times.
It appeared during your "tutorial 0" when I tried "briefcase new". No errors until then.
Installing the packages again did not help.
OS: Linux Mint 19.3

Full line:
/beeware-tutorial/beeware-venv/lib/python3.6/site-packages/git/compat.py", line 16, in
from gitdb.utils.compat import (
ModuleNotFoundError: No module named 'gitdb.utils.compat'

pip install beeware failed on Ubuntu 16.04

I'm trying to install beeware on my virtual environment venv - Linux Ubuntu 16.04 but it failed. It worked like a charm on MacOS though. Below are the steps I followed

python3 -m venv venv
. venv/bin/activate
pip install beeware

During the installation, I get this error in my terminal

ImportError: /home/alejeune/Development/beeware/pycon/venv/lib/python3.6/site-packages/cairo/_cairo.cpython-36m-x86_64-linux-gnu.so: undefined symbol: cairo_tee_surface_index

See below the command highlited in my terminal

Command "/home/alejeune/Development/beeware/pycon/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-yqr0u95l/pygobject/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-3kdlzyar/install-record.txt --single-version-externally-managed --compile --install-headers /home/alejeune/Development/beeware/pycon/venv/include/site/python3.6/pygobject" failed with error code 1 in /tmp/pip-install-yqr0u95l/pygobject/

I'm new with Cairo but it looks like they migrated to pyCairo. I've also seen this issue with pygobject.
pygobject/pycairo#105

Can you please suggest how to address this issue?

Hello World app in tutorial fails to open

Hi, I am trying to figure out why I get stopped part way through the tutorial and my hello world app doesn't load. The window comes up but it says not responding and I have to force it closed. I have downloaded the dependencies and followed the tutorial to the letter. Any suggestions?

Error with running helloworld

Describe the bug
Hello world app crashed.

To Reproduce
Steps to reproduce the behavior:

  1. Create hello-world app using official guide.
  2. Run briefcase run
  3. See error
    ImportError: cannot import name GLib, introspection typelib not found

Expected behavior
Working app

Screenshots
Screenshot from 2021-05-30 19-03-46

Environment:

  • Operating System: Fedora 34
  • Python version: 3.9.5
  • Software versions:
    • Briefcase: 0.3.5
    • Toga: default

okay I dont know why the emulator is not working does anybody know how to solve it?

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment:

  • Operating System:
  • Python version:
  • Software versions:
    • Briefcase:
    • Toga:
    • ...

Additional context
Add any other context about the problem here.

error when building AppImage: fuse: device not found

I followed the tutorial to build my first app. I use this Dockerfile to run briefcase commands.

The briefcase create command runs well, but I had this error on briefcase build:

Ensure we have the linuxdeploy AppImage...
Downloading linuxdeploy-x86_64.AppImage...
################################################## 100%dlopen(): error loading libfuse.so.2

AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information

[helloworld] Building AppImage...

Error while building app helloworld.

I then installed fuse with apt install libfuse2, but I got an other error:

root@c348ce542392:/project# briefcase build

Ensure we have the linuxdeploy AppImage...
Downloading linuxdeploy-x86_64.AppImage...
################################################## 100%

[helloworld] Building AppImage...

fuse: device not found, try 'modprobe fuse' first

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information
open dir error: No such file or directory

Error while building app helloworld.

Alternative to Android Studio for beeware-android developers

I've been trying to seriously start with beeware especially on the android side of things. I understand that java, android-sdk an emulator, etc are perquisites to use beeware to develop android applications using python.

I would love to contribute to this project but the process to get anything reasonable on android is daunting. I am trying to find a comfortable alternative to android studio!

Why?

  1. I do not code in Java or any other android development language so the IDE is almost useless to me from the coding/productivity point of view.

  2. The main requirements are android-sdk and java. I already have an IDE preferentially developed for python and I wouldn't be needing anything else.

  3. Android Studio's size is not convenient for any form of priority to be given to a software that I would barely be using to 20% capacity.

In light of the reasons stated above, I would like to know exactly what is needed.

  1. What version of java is most preferably required for android development with beeware on a linux machine? [preferably ubuntu 18.0.4LTS]

  2. Would Python 3.6.7 (default, Oct 22 2018, 11:32:17) work together with beeware's tools to get android development operational (at least test-wise) together with the recommended java version?

These questions are very important to me. I wasn't able to get direct instructions concerning the android development curve or alternatives to android studio. I have no problem with the IDE but I believe that the major reason Android Studio is recommended is for it automatic install of an emulator and android-sdk (GUI style).

I wouldn't practically call this an issue or a bug report but I didn't know any other way to reach the moderators of this great project.

I love python! And I would love to contribute to the python community!
I hope a favorable reply!

Tutorial Documentation Correction

Describe the bug
https://docs.beeware.org/en/latest/tutorial/tutorial-4.html
Sub-title: Updating dependencies and icons
In the documentation (point 1) says ... 'will re-install your the application dependecies.'

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://docs.beeware.org/en/latest/tutorial/tutorial-4.html
  2. Find sub-title 'Updating dependencies and icons
  3. Find first point.
  4. See bad english which says 'will re-install your the application dependecies.'

Expected behavior
Should say ... 'will re-install the application dependecies.'

Screenshots
Screen Shot 2020-10-08 at 11 09 12 AM

Environment:
n/a

Additional context
n/a

Remove Made with Beeware when startup

Describe the bug
Splash Screen on start up

To Reproduce
Make android app

Expected behavior
remove the splash screen

Screenshots
None

Environment:

  • Operating System: Windows
  • Python version: 3.8.6
  • Software versions:
    • Briefcase: idk
    • Toga: idk
    • ...

Additional context
Add any other context about the problem here.

Error installing beeware tools in lubuntu 19.04 following the tutorial 01

Sorry my english is not that good. I hope it makes sense.

I passed by the Tutorial 0 (dependencies) and went up to the Tutorial 01.

I tried $python -m pip install --pre beeware, got an error message (output 1)
I upgraded pip
I tried again, same error
After chat with @freakboy3742 , I tried python -m pip install --no-use-pep517 pygobject another error message (output 2)

I hope it could be of some help.

Output 1

$ python -m pip install --pre beeware
Collecting beeware
  Downloading https://files.pythonhosted.org/packages/d2/09/3670bdf4652d24024a45699266b9920a8e1778060196506b3e0f77be95cb/beeware-0.3.0.dev3-py2.py3-none-any.whl
Collecting toga>=0.3.0.dev17 (from beeware)
  Downloading https://files.pythonhosted.org/packages/4a/ad/25b89f69832de3823af9ddf2b92fa8f5cbb6a5b6fd25afe7db096f621f2a/toga-0.3.0.dev19-py3-none-any.whl
Collecting briefcase>=0.3.0.dev3 (from beeware)
  Downloading https://files.pythonhosted.org/packages/b0/98/ebc632cabd11c509d0c895192e9a55f50aa1eb397e11392f4b148086cce3/briefcase-0.3.0.dev8-py2.py3-none-any.whl (53kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 344kB/s 
Collecting toga-gtk==0.3.0.dev19; sys_platform == "linux" (from toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/94/27/c70d311f8df68cb65d5f1eed3ceaa2c6181bcb1c53b3765258b7b45e405c/toga_gtk-0.3.0.dev19-py3-none-any.whl
Collecting GitPython>=3.0.8 (from briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/d3/2f/6a366d56c9b1355b0880be9ea66b166cb3536392638d8d91413ec66305ad/GitPython-3.1.0-py3-none-any.whl (450kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 460kB 589kB/s 
Collecting requests>=2.22.0 (from briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/1a/70/1935c770cb3be6e3a8b78ced23d7e0f3b187f5cbfab4749523ed65d7c9b1/requests-2.23.0-py2.py3-none-any.whl (58kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 608kB/s 
Collecting Jinja2<3.0 (from briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/27/24/4f35961e5c669e96f6559760042a55b9bcfcdb82b9bdb3c8753dbe042e35/Jinja2-2.11.1-py2.py3-none-any.whl (126kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 133kB 535kB/s 
Requirement already satisfied: pip>=19.0 in ./beeware-venv/lib/python3.7/site-packages (from briefcase>=0.3.0.dev3->beeware) (19.2.3)
Collecting cookiecutter>=1.0 (from briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/86/c9/7184edfb0e89abedc37211743d1420810f6b49ae4fa695dfc443c273470d/cookiecutter-1.7.0-py2.py3-none-any.whl (40kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 40kB 620kB/s 
Collecting toml>=0.10.0 (from briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/a2/12/ced7105d2de62fa7c8fb5fce92cc4ce66b57c95fb875e9318dba7f8c5db0/toml-0.10.0-py2.py3-none-any.whl
Collecting toga-core==0.3.0.dev19 (from toga-gtk==0.3.0.dev19; sys_platform == "linux"->toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/15/44/0571e39162b93c5713f4f3055919e76d4a5ae9188b282489480d8e332b57/toga_core-0.3.0.dev19-py3-none-any.whl (516kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 522kB 535kB/s 
Collecting pycairo>=1.17.0 (from toga-gtk==0.3.0.dev19; sys_platform == "linux"->toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/e8/9d/c8be300fc6b1298559d37a071c3833b0b251e0fff334d2e4c408d5789162/pycairo-1.19.1.tar.gz (205kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 215kB 534kB/s 
Collecting pygobject>=3.14.0 (from toga-gtk==0.3.0.dev19; sys_platform == "linux"->toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/3e/b5/f4fd3351ed074aeeae30bff71428f38bc42187e34c44913239a9dc85a7fc/PyGObject-3.36.0.tar.gz (714kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 716kB 570kB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting gbulb>=0.5.3 (from toga-gtk==0.3.0.dev19; sys_platform == "linux"->toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/92/cb/d2a0e4899cde5aa797e31d77a0a7422dcd188d880bb38d0e9d1b1196e5c6/gbulb-0.6.1.tar.gz
Collecting gitdb<5,>=4.0.1 (from GitPython>=3.0.8->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/1e/f5/8f84b3bf9d94bdf2454a302f2fa375832b53660ea532586b8a55ff16ae9a/gitdb-4.0.2-py3-none-any.whl (63kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 71kB 660kB/s 
Collecting certifi>=2017.4.17 (from requests>=2.22.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/57/2b/26e37a4b034800c960a00c4e1b3d9ca5d7014e983e6e729e33ea2f36426c/certifi-2020.4.5.1-py2.py3-none-any.whl (157kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 163kB 542kB/s 
Collecting idna<3,>=2.5 (from requests>=2.22.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl (58kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 627kB/s 
Collecting chardet<4,>=3.0.2 (from requests>=2.22.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 143kB 516kB/s 
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests>=2.22.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/e8/74/6e4f91745020f967d09332bb2b8b9b10090957334692eb88ea4afe91b77f/urllib3-1.25.8-py2.py3-none-any.whl (125kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 133kB 535kB/s 
Collecting MarkupSafe>=0.23 (from Jinja2<3.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/98/7b/ff284bd8c80654e471b769062a9b43cc5d03e7a615048d96f4619df8d420/MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl
Collecting poyo>=0.1.0 (from cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/42/50/0b0820601bde2eda403f47b9a4a1f270098ed0dd4c00c443d883164bdccc/poyo-0.5.0-py2.py3-none-any.whl
Collecting whichcraft>=0.4.0 (from cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/b5/a2/81887a0dae2e4d2adc70d9a3557fdda969f863ced51cd3c47b587d25bce5/whichcraft-0.6.1-py2.py3-none-any.whl
Collecting click>=7.0 (from cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/dd/c0/4d8f43a9b16e289f36478422031b8a63b54b6ac3b1ba605d602f10dd54d6/click-7.1.1-py2.py3-none-any.whl (82kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 92kB 658kB/s 
Collecting future>=0.15.2 (from cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz (829kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 829kB 530kB/s 
Collecting binaryornot>=0.2.0 (from cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/24/7e/f7b6f453e6481d1e233540262ccbfcf89adcd43606f44a028d7f5fae5eb2/binaryornot-0.4.4-py2.py3-none-any.whl
Collecting jinja2-time>=0.1.0 (from cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/6a/a1/d44fa38306ffa34a7e1af09632b158e13ec89670ce491f8a15af3ebcb4e4/jinja2_time-0.2.0-py2.py3-none-any.whl
Collecting importlib-metadata; python_version < "3.8" (from toga-core==0.3.0.dev19->toga-gtk==0.3.0.dev19; sys_platform == "linux"->toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/ad/e4/891bfcaf868ccabc619942f27940c77a8a4b45fd8367098955bb7e152fb1/importlib_metadata-1.6.0-py2.py3-none-any.whl
Collecting travertino>=0.1.0 (from toga-core==0.3.0.dev19->toga-gtk==0.3.0.dev19; sys_platform == "linux"->toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/56/3f/f03efe63c2bdc72763ac39777c9ebbab98605ced5c74aefe48b4fa0abb4d/travertino-0.1.2-py3-none-any.whl
Collecting smmap<4,>=3.0.1 (from gitdb<5,>=4.0.1->GitPython>=3.0.8->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/35/d2/27777ab463cd44842c78305fa8097dfba0d94768abbb7e1c4d88f1fa1a0b/smmap-3.0.1-py2.py3-none-any.whl
Collecting arrow (from jinja2-time>=0.1.0->cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/92/fa/f84896dede5decf284e6922134bf03fd26c90870bbf8015f4e8ee2a07bcc/arrow-0.15.5-py2.py3-none-any.whl (46kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 51kB 608kB/s 
Collecting zipp>=0.5 (from importlib-metadata; python_version < "3.8"->toga-core==0.3.0.dev19->toga-gtk==0.3.0.dev19; sys_platform == "linux"->toga>=0.3.0.dev17->beeware)
  Downloading https://files.pythonhosted.org/packages/b2/34/bfcb43cc0ba81f527bc4f40ef41ba2ff4080e047acb0586b56b3d017ace4/zipp-3.1.0-py3-none-any.whl
Collecting python-dateutil (from arrow->jinja2-time>=0.1.0->cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 235kB 540kB/s 
Collecting six>=1.5 (from python-dateutil->arrow->jinja2-time>=0.1.0->cookiecutter>=1.0->briefcase>=0.3.0.dev3->beeware)
  Downloading https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl
Building wheels for collected packages: pygobject
  Building wheel for pygobject (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/freeorb/pyDevelop/teste1/beeware-venv/bin/python /home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpjg0nx4f9                                                                 
       cwd: /tmp/pip-install-rmyh90rw/pygobject                                                                                      
  Complete output (91 lines):                                                                                                        
  running bdist_wheel                                                                                                                
  running build                                                                                                                      
  running build_py                                                                                                                   
  creating build                                                                                                                     
  creating build/lib.linux-x86_64-3.7                                                                                                
  creating build/lib.linux-x86_64-3.7/pygtkcompat                                                                                    
  copying pygtkcompat/pygtkcompat.py -> build/lib.linux-x86_64-3.7/pygtkcompat                                                       
  copying pygtkcompat/generictreemodel.py -> build/lib.linux-x86_64-3.7/pygtkcompat                                                  
  copying pygtkcompat/__init__.py -> build/lib.linux-x86_64-3.7/pygtkcompat                                                          
  creating build/lib.linux-x86_64-3.7/gi                                                                                             
  copying gi/pygtkcompat.py -> build/lib.linux-x86_64-3.7/gi                                                                         
  copying gi/_ossighelper.py -> build/lib.linux-x86_64-3.7/gi                                                                        
  copying gi/_constants.py -> build/lib.linux-x86_64-3.7/gi                                                                          
  copying gi/_propertyhelper.py -> build/lib.linux-x86_64-3.7/gi                                                                     
  copying gi/_signalhelper.py -> build/lib.linux-x86_64-3.7/gi                                                                       
  copying gi/importer.py -> build/lib.linux-x86_64-3.7/gi                                                                            
  copying gi/_compat.py -> build/lib.linux-x86_64-3.7/gi                                                                             
  copying gi/_option.py -> build/lib.linux-x86_64-3.7/gi                                                                             
  copying gi/docstring.py -> build/lib.linux-x86_64-3.7/gi                                                                           
  copying gi/types.py -> build/lib.linux-x86_64-3.7/gi                                                                               
  copying gi/__init__.py -> build/lib.linux-x86_64-3.7/gi                                                                            
  copying gi/module.py -> build/lib.linux-x86_64-3.7/gi                                                                              
  copying gi/_error.py -> build/lib.linux-x86_64-3.7/gi                                                                              
  copying gi/_gtktemplate.py -> build/lib.linux-x86_64-3.7/gi                                                                        
  creating build/lib.linux-x86_64-3.7/gi/repository                                                                                  
  copying gi/repository/__init__.py -> build/lib.linux-x86_64-3.7/gi/repository                                                      
  creating build/lib.linux-x86_64-3.7/gi/overrides                                                                                   
  copying gi/overrides/Gtk.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                             
  copying gi/overrides/Gio.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                             
  copying gi/overrides/Pango.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                           
  copying gi/overrides/GLib.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                            
  copying gi/overrides/GdkPixbuf.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                       
  copying gi/overrides/GObject.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                         
  copying gi/overrides/Gdk.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                             
  copying gi/overrides/keysyms.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                         
  copying gi/overrides/GIMarshallingTests.py -> build/lib.linux-x86_64-3.7/gi/overrides                                              
  copying gi/overrides/__init__.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                        
  running build_ext                                                                                                                  
  pycairo: new API                                                                                                                   
  Traceback (most recent call last):                                                                                                 
    File "/home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 207, in <module>                                                                                                                               
      main()                                                                                                                         
    File "/home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 197, in main                                                                                                                                   
      json_out['return_val'] = hook(**hook_input['kwargs'])                                                                          
    File "/home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 141, in build_wheel                                                                                                                            
      metadata_directory)                                                                                                            
    File "/tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 213, in build_wheel        
      wheel_directory, config_settings)                                                                                              
    File "/tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 198, in _build_with_temp_dir                                                                                                                                    
      self.run_setup()                                                                                                               
    File "/tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 250, in run_setup          
      self).run_setup(setup_script=setup_script)                                                                                     
    File "/tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 143, in run_setup          
      exec(compile(code, __file__, 'exec'), locals())                                                                                
    File "setup.py", line 1288, in <module>                                                                                          
      main()                                                                                                                         
    File "setup.py", line 1283, in main                                                                                              
      zip_safe=False,                                                                                                                
    File "/tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup                
      return distutils.core.setup(**attrs)                                                                                           
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/core.py", line 148, in setup                                               
      dist.run_commands()                                                                                                            
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 966, in run_commands                                        
      self.run_command(cmd)                                                                                                          
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command                                         
      cmd_obj.run()                                                                                                                  
    File "/tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 223, in run                    
      self.run_command('build')                                                                                                      
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/cmd.py", line 313, in run_command                                          
      self.distribution.run_command(command)                                                                                         
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command                                         
      cmd_obj.run()                                                                                                                  
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/command/build.py", line 135, in run                                        
      self.run_command(cmd_name)                                                                                                     
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/cmd.py", line 313, in run_command                                          
      self.distribution.run_command(command)                                                                                         
    File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command                                         
      cmd_obj.run()                                                                                                                  
    File "setup.py", line 1118, in run                                                                                               
      self._setup_extensions()                                                                                                       
    File "setup.py", line 1110, in _setup_extensions                                                                                 
      add_pycairo(gi_cairo_ext)                                                                                                      
    File "setup.py", line 1093, in add_pycairo                                                                                       
      ext.include_dirs += [get_pycairo_include_dir()]                                                                                
    File "setup.py", line 915, in get_pycairo_include_dir                                                                            
      include_dir = find_path(find_new_api())                                                                                        
    File "setup.py", line 860, in find_new_api                                                                                       
      import cairo                                                                                                                   
    File "/tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/cairo/__init__.py", line 1, in <module>                    
      from ._cairo import *  # noqa: F401,F403                                                                                       
  ImportError: /tmp/pip-build-env-9wkerqhh/overlay/lib/python3.7/site-packages/cairo/_cairo.cpython-37m-x86_64-linux-gnu.so: undefined symbol: cairo_svg_surface_set_document_unit                                                                                        
  ----------------------------------------                                                                                           
  ERROR: Failed building wheel for pygobject
  Running setup.py clean for pygobject
Failed to build pygobject
ERROR: Could not build wheels for pygobject which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command. 

Output 2

$python -m pip install --no-use-pep517 pygobject
Collecting pygobject
  Using cached PyGObject-3.36.0.tar.gz (714 kB)
Collecting pycairo>=1.11.1
  Using cached pycairo-1.19.1.tar.gz (205 kB)
Installing collected packages: pycairo, pygobject
    Running setup.py install for pycairo ... done
    Running setup.py install for pygobject ... error
    ERROR: Command errored out with exit status 1:
     command: /home/freeorb/pyDevelop/teste1/beeware-venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-sdtdxhbg/pygobject/setup.py'"'"'; __file__='"'"'/tmp/pip-install-sdtdxhbg/pygobject/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vzoknrj8/install-record.txt --single-version-externally-managed --compile --install-headers /home/freeorb/pyDevelop/teste1/beeware-venv/include/site/python3.7/pygobject                                                           
         cwd: /tmp/pip-install-sdtdxhbg/pygobject/                                                                                   
    Complete output (80 lines):                                                                                                      
    running install                                                                                                                  
    running build                                                                                                                    
    running build_py                                                                                                                 
    creating build                                                                                                                   
    creating build/lib.linux-x86_64-3.7                                                                                              
    creating build/lib.linux-x86_64-3.7/pygtkcompat                                                                                  
    copying pygtkcompat/pygtkcompat.py -> build/lib.linux-x86_64-3.7/pygtkcompat                                                     
    copying pygtkcompat/generictreemodel.py -> build/lib.linux-x86_64-3.7/pygtkcompat                                                
    copying pygtkcompat/__init__.py -> build/lib.linux-x86_64-3.7/pygtkcompat                                                        
    creating build/lib.linux-x86_64-3.7/gi                                                                                           
    copying gi/pygtkcompat.py -> build/lib.linux-x86_64-3.7/gi                                                                       
    copying gi/_ossighelper.py -> build/lib.linux-x86_64-3.7/gi                                                                      
    copying gi/_constants.py -> build/lib.linux-x86_64-3.7/gi                                                                        
    copying gi/_propertyhelper.py -> build/lib.linux-x86_64-3.7/gi                                                                   
    copying gi/_signalhelper.py -> build/lib.linux-x86_64-3.7/gi                                                                     
    copying gi/importer.py -> build/lib.linux-x86_64-3.7/gi                                                                          
    copying gi/_compat.py -> build/lib.linux-x86_64-3.7/gi                                                                           
    copying gi/_option.py -> build/lib.linux-x86_64-3.7/gi                                                                           
    copying gi/docstring.py -> build/lib.linux-x86_64-3.7/gi                                                                         
    copying gi/types.py -> build/lib.linux-x86_64-3.7/gi                                                                             
    copying gi/__init__.py -> build/lib.linux-x86_64-3.7/gi                                                                          
    copying gi/module.py -> build/lib.linux-x86_64-3.7/gi                                                                            
    copying gi/_error.py -> build/lib.linux-x86_64-3.7/gi                                                                            
    copying gi/_gtktemplate.py -> build/lib.linux-x86_64-3.7/gi                                                                      
    creating build/lib.linux-x86_64-3.7/gi/repository                                                                                
    copying gi/repository/__init__.py -> build/lib.linux-x86_64-3.7/gi/repository                                                    
    creating build/lib.linux-x86_64-3.7/gi/overrides                                                                                 
    copying gi/overrides/Gtk.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                           
    copying gi/overrides/Gio.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                           
    copying gi/overrides/Pango.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                         
    copying gi/overrides/GLib.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                          
    copying gi/overrides/GdkPixbuf.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                     
    copying gi/overrides/GObject.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                       
    copying gi/overrides/Gdk.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                           
    copying gi/overrides/keysyms.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                       
    copying gi/overrides/GIMarshallingTests.py -> build/lib.linux-x86_64-3.7/gi/overrides                                            
    copying gi/overrides/__init__.py -> build/lib.linux-x86_64-3.7/gi/overrides                                                      
    running build_ext                                                                                                                
    pycairo: new API                                                                                                                 
    Traceback (most recent call last):                                                                                               
      File "<string>", line 1, in <module>                                                                                           
      File "/tmp/pip-install-sdtdxhbg/pygobject/setup.py", line 1288, in <module>                                                    
        main()                                                                                                                       
      File "/tmp/pip-install-sdtdxhbg/pygobject/setup.py", line 1283, in main                                                        
        zip_safe=False,                                                                                                              
      File "/home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup      
        return distutils.core.setup(**attrs)                                                                                         
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/core.py", line 148, in setup                                             
        dist.run_commands()                                                                                                          
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 966, in run_commands                                      
        self.run_command(cmd)                                                                                                        
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command                                       
        cmd_obj.run()                                                                                                                
      File "/home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/setuptools/command/install.py", line 61, in run  
        return orig.install.run(self)                                                                                                
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/command/install.py", line 545, in run                                    
        self.run_command('build')                                                                                                    
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/cmd.py", line 313, in run_command                                        
        self.distribution.run_command(command)                                                                                       
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command                                       
        cmd_obj.run()                                                                                                                
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/command/build.py", line 135, in run                                      
        self.run_command(cmd_name)                                                                                                   
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/cmd.py", line 313, in run_command                                        
        self.distribution.run_command(command)                                                                                       
      File "/home/freeorb/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command                                       
        cmd_obj.run()                                                                                                                
      File "/tmp/pip-install-sdtdxhbg/pygobject/setup.py", line 1118, in run                                                         
        self._setup_extensions()                                                                                                     
      File "/tmp/pip-install-sdtdxhbg/pygobject/setup.py", line 1110, in _setup_extensions                                           
        add_pycairo(gi_cairo_ext)                                                                                                    
      File "/tmp/pip-install-sdtdxhbg/pygobject/setup.py", line 1093, in add_pycairo                                                 
        ext.include_dirs += [get_pycairo_include_dir()]                                                                              
      File "/tmp/pip-install-sdtdxhbg/pygobject/setup.py", line 915, in get_pycairo_include_dir                                      
        include_dir = find_path(find_new_api())                                                                                      
      File "/tmp/pip-install-sdtdxhbg/pygobject/setup.py", line 860, in find_new_api                                                 
        import cairo                                                                                                                 
      File "/home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/cairo/__init__.py", line 1, in <module>          
        from ._cairo import *  # noqa: F401,F403                                                                                     
    ImportError: /home/freeorb/pyDevelop/teste1/beeware-venv/lib/python3.7/site-packages/cairo/_cairo.cpython-37m-x86_64-linux-gnu.so: undefined symbol: cairo_svg_surface_set_document_unit                                                                              
    ----------------------------------------                                                                                         
ERROR: Command errored out with exit status 1: /home/freeorb/pyDevelop/teste1/beeware-venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-sdtdxhbg/pygobject/setup.py'"'"'; __file__='"'"'/tmp/pip-install-sdtdxhbg/pygobject/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vzoknrj8/install-record.txt --single-version-externally-managed --compile --install-headers /home/freeorb/pyDevelop/teste1/beeware-venv/include/site/python3.7/pygobject Check the logs for full command output.

Is there a more efficient way to implement BeeWare?

I don't really use BeeWare before (now I plan to) and I'm not sure how it compiles the code whether it's done using "briefcase" or "rubicon-java". These days I'm learning Cython, and I was wondering if it's possible to compile a full mobile app into C/C++ since Cython already does most of the work (and really good work). If it is, I'll be more than happy to try and improve BeeWare, such that it will perform even better than Java, C# on mobile devices, and expand the python community to this field.

Tutorial - 'briefcase run' error (MacOS Catalina 10.15.4, Python 3.7)

As I worked through the tutorial, I got the following error when I used briefcase run to run the initial version of the app (tutorial pg. 3) and the updated version (pg. 4).

(.env) jchen@ribka:~/Desktop/FOSS/beeware/beeware-tutorial/helloworld$ briefcase run

[helloworld] Starting app...

LSOpenURLsWithRole() failed with error -10810 for the file /Users/jchen/Desktop/FOSS/beeware/beeware-tutorial/helloworld/macOS/Hello World/Hello World.app.

Unable to start app helloworld.

The app ran successfully in developer mode and in the DMG installed copy for each version. briefcase run did work when I ran the iOS version:

(.env) jchen@ribka:~/Desktop/FOSS/beeware/beeware-tutorial/helloworld$ briefcase run iOS -d "iPhone 11::iOS 13.5"
[helloworld] Starting app on an iPhone 11 running iOS iOS 13.5 (device UDID 51B27672-3FE6-4715-AC04-07C80B33156F)
Booting iPhone 11 simulator running iOS iOS 13.5...
Opening iPhone 11 simulator running iOS iOS 13.5...
[helloworld] Uninstalling old app version...
[helloworld] Installing new app version...
[helloworld] Starting app...
com.example.helloworld: 17024

Android deployment?

Your tutorial is excellent but when I got to the end I realized I couldn't build my application for android.

What will it take to make BeeWare compatible for android too?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.