diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md index b357c7e..8a1d8b1 100644 --- a/docs/en/tutorial/tutorial-3.md +++ b/docs/en/tutorial/tutorial-3.md @@ -122,7 +122,14 @@ You've probably just seen pages of content go past in your terminal... so what j 5. It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images. -Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application. +Once this completes, if you look in the project's `build` directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application. For example, on macOS, your project directory will now include: + +```text +helloworld/ +└── build/ + └── helloworld/ + └── macos/ +``` ## Building your application diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index 9af3b92..1025a64 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -654,7 +654,7 @@ The `-r` option for updating requirements is also honored by the `build` and `ru Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)](https://pypi.org), and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options. -On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited](https://briefcase.beeware.org/en/latest/about/faq#can-i-use-third-party-python-packages-in-my-app). +On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited](https://briefcase.beeware.org/en/latest/about/faq#can-i-use-third-party-python-packages-in-my-app). In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than "standard" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms. diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index b333980..532e1ec 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -12,9 +12,9 @@ This is a toy app, so we don't have a *real* API to work with, so we'll use a sa The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a "normal browser user" you're probably used to taking these details for granted, as a browser manages them for you. -As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [`httpx`](https://www.python-httpx.org). Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here. +As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries - a library called [`httpx`](https://www.python-httpx.org) - to access a simple API. -Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement: +Let's add an `httpx` API call to our app. First, as with `faker` in the [previous step](tutorial-7.md), we need to tell briefcase to install `httpx` when it builds our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement: ```python requires = [ @@ -49,10 +49,10 @@ async def say_hello(self, widget): This will change the `say_hello()` callback so that when it is invoked, it will: -- make a GET request on the JSON placeholder API to obtain post 42; +- make a GET request on the tutorial API to retrieve a message; - decode the response as JSON; -- extract the body of the post; and -- include the body of that post as the text of the "message" dialog, in place of the text generated by Faker. +- extract the body of the message; and +- include the body of that message as the text of the dialog, in place of the text generated by Faker. Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument: