-
-
Notifications
You must be signed in to change notification settings - Fork 733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update the BeeWare website - WIP #578
base: lektor
Are you sure you want to change the base?
Changes from all commits
9ddf2ca
24517ed
93fc294
ea4e70a
830b7fb
48c9d9c
f4ed371
a4d8f88
85b64cf
2f5615b
46cecc5
533463a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -156,7 +156,7 @@ | |
} | ||
|
||
.navbar-collapse { | ||
background: #000; | ||
background-color: #343a40; | ||
padding-top: 0.75em; | ||
} | ||
|
||
|
@@ -353,6 +353,19 @@ blockquote { | |
position: relative; | ||
} | ||
|
||
/* Fix for separators in header menu when display is 760px-and-smaller wide */ | ||
@media (max-width: 760px) { | ||
.navbar-collapse li { | ||
border-bottom: 1px solid #666; | ||
} | ||
.navbar-collapse .header-button li.nav-item { | ||
border-bottom: 0 | ||
} | ||
.navbar-collapse .header-button { | ||
border-bottom: 1px solid #666; | ||
} | ||
} | ||
|
||
/*---------------------------------------------------- | ||
Homepage styles | ||
--------------------------------------------------- */ | ||
|
@@ -369,6 +382,26 @@ blockquote { | |
margin: 2rem 0; | ||
} | ||
|
||
/*---------------------------------------------------- | ||
Project Showcase and Important Category Styles | ||
--------------------------------------------------- */ | ||
.showcase { | ||
margin: 2vh; | ||
font-size: larger; | ||
} | ||
|
||
.important-category { | ||
margin: 2vh; | ||
padding-bottom: 1rem; | ||
} | ||
|
||
.important-description { | ||
margin-bottom: 1.2rem; | ||
} | ||
|
||
.important-projects { | ||
padding-left: 1rem; | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not wild about the use of background colours here - it feels really busy, and the box layout doesn't seem to scale well to phone-sized layouts. I wonder if it might be better to stick to a single column with icons on the side, but with bigger icons for the "featured" apps. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I updated the page to match this concept. I'll be pushing that update shortly. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For what it's worth, the background colors were solely for me to differentiate the divs so I knew where everything ended up. They were not necessarily destined for the final product. |
||
|
||
/*---------------------------------------------------- | ||
Sticky footer styles | ||
|
@@ -479,6 +512,7 @@ body { | |
|
||
.project img { | ||
margin-bottom: 2rem; | ||
float: left; | ||
} | ||
|
||
/*---------------------------------------------------- | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
_model: page | ||
--- | ||
title: Contact | ||
--- | ||
summary: Looking to speak to someone from the BeeWare project? Here's how. | ||
--- | ||
sort_key: 6 | ||
--- | ||
incomplete: no | ||
--- | ||
body: | ||
|
||
|
||
If you have a general question about BeeWare usage, we have a number of `community communication channels </community/getting-help/>`__ where you can ask for assistance. | ||
|
||
If you need advice on how to contribute, or you have questions about the management of the project, anyone on the `Core Team </community/team>`__ will be able to help you. | ||
|
||
If you want to report a security problem with one of the BeeWare tools, please contact the `Core Team </community/team>`__. | ||
|
||
If you have had a bad experience in a BeeWare community space, or want to report a behaviour problem with someone who is a member of the BeeWare community, the `Core Team </community/team>`__ will be happy to manage your report in accordance with our `Code of Conduct reporting guide </community/behavior/making-a-coc-complaint/>`__. | ||
|
||
For all other enquiries, please contact Founding Apiarist `Russell Keith-Magee <mailto:[email protected]>`__. | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
_model: page | ||
--- | ||
title: Media | ||
--- | ||
body: | ||
|
||
|
||
Short description | ||
================= | ||
|
||
BeeWare is a collection of tools and libraries to aid in writing application user interfaces in Python. | ||
|
||
Long description | ||
================ | ||
|
||
BeeWare is a collection of tools and libraries to aid in writing application user interfaces in Python. It enables developers to write applications for iPhone, Android, Linux, macOS and Windows that are indistinguishable from natively written applications. | ||
|
||
|
||
Logos | ||
===== | ||
|
||
BeeWare logo | ||
~~~~~~~~~~~~ | ||
|
||
.. image:: /contact/media/beeware-150.png | ||
:alt: BeeWare logo | ||
|
||
* `Small </contact/media/beeware-150.png>`__ | ||
* `Medium </contact/media/beeware-519.png>`__ | ||
* `Vector </contact/media/beeware.eps>`__ | ||
|
||
BeeWare (wide) logo | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
.. image:: /contact/media/beeware-wide-143.png | ||
:alt: BeeWare logo (wide) | ||
|
||
* `Small </contact/media/beeware-wide-143.png>`__ | ||
* `Medium </contact/media/beeware-wide-600.png>`__ | ||
* `Large </contact/media/beeware-wide-2028.png>`__ | ||
* `Vector </contact/media/beeware-wide.eps>`__ | ||
|
||
BeeWare Enthusiasts logo | ||
~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
.. image:: /contact/media/beeware-enthusiasts-150.png | ||
:alt: BeeWare Enthusiasts logo | ||
|
||
* `Small </contact/media/beeware-enthusiasts-150.png>`__ | ||
* `Medium </contact/media/beeware-enthusiasts-600.png>`__ | ||
* `Large </contact/media/beeware-enthusiasts-2000.png>`__ | ||
* `Vector </contact/media/beeware-enthusiasts.eps>`__ | ||
|
||
Brutus the Bee | ||
~~~~~~~~~~~~~~ | ||
|
||
.. image:: /contact/media/brutus-128.png | ||
:alt: Brutus the Bee | ||
|
||
* `Small </contact/media/brutus-32.png>`__ | ||
* `Medium </contact/media/brutus-128.png>`__ | ||
* `Large </contact/media/brutus-256.png>`__ | ||
* `X-large </contact/media/brutus-1024.png>`__ | ||
* `Vector </contact/media/brutus.eps>`__ | ||
|
||
--- | ||
summary: Are you from a media organization and want to write something about BeeWare? Here are some resources you may find helpful. | ||
--- | ||
incomplete: no | ||
--- | ||
gutter: | ||
|
||
Contact | ||
======= | ||
|
||
For all media enquiries, please contact: | ||
|
||
* **Dr Russell Keith-Magee**, Founding Apiarist: `[email protected] <mailto:[email protected]>`__. | ||
* **Philip James**, Apiarist: `[email protected] <mailto:[email protected]>`__. | ||
|
||
--- | ||
sort_key: 2 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
_model: page | ||
--- | ||
title: About BeeWare | ||
--- | ||
summary: The history and philosophy of the BeeWare Project | ||
--- | ||
sort_key: 5 | ||
--- | ||
body: | ||
|
||
|
||
BeeWare: The IDEs of Python | ||
=========================== | ||
|
||
This is BeeWare. We're incredibly excited about what the future holds for Python. We hope you'll join us on this journey. | ||
|
||
|
||
--- | ||
gutter: | ||
|
||
Meet Brutus | ||
=========== | ||
.. image:: /static/images/brutus-128.png | ||
|
||
Brutus the Bee is the mascot of the BeeWare project. He's a busy little worker bee. | ||
|
||
Fun fact: a person who keeps bees is called an **apiarist** - a name that the BeeWare project uses to describe the core team. This also reflects the relationship that the core team wishes to have with the community - we're shepherds of the community, and we'll provide direction, but we know the real work is done by the community as a whole. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
_model: page | ||
--- | ||
title: Goals | ||
--- | ||
summary: The goals of the BeeWare Project | ||
--- | ||
sort_key: 5 | ||
--- | ||
body: | ||
|
||
|
||
The goal | ||
======== | ||
|
||
The end goal of the BeeWare project: To be able to do for mobile and desktop user-facing software the same thing that Django has done for web software - to put into the hands of users a set of tools and libraries that enables them to develop rich, native user interfaces, and deploy them to their devices. This includes: | ||
|
||
* Tools to enable Python to run on different devices, | ||
* Tools to package a Python project so it can run on those devices, | ||
* Libraries to access the native widgets and capabilities of devices, | ||
* Tools to help develop, debug, analyze and these projects. | ||
|
||
This aim is that this set of tools will be easy enough to use for complete newcomers to use in a Django Girls-like setting; but powerful enough that they could be used to drive the next Instagram, Pinterest or Disqus. | ||
|
||
Most importantly, it aims to do all this as an Open Source community. The Open Source development process has proven itself to be the most reliable way to develop robust and reliable software, and the fact that anyone can access the software means that everyone can start with the same set of excellent tools, be they expert or enthusiastic amateur. | ||
|
||
Python everywhere | ||
~~~~~~~~~~~~~~~~~ | ||
|
||
A modern computing project can't ignore the biggest development in computing of the last 10 years. Python prides itself on being a cross-platform language. 10 years ago, being cross-platform meant being available for Windows, macOS and Linux. These days, mobile computing is much more important. Despite this, there aren't many good options for Python programming on mobile platforms, and cross-platform mobile coding is still elusive. | ||
|
||
BeeWare embraces mobile and other emerging platforms (like watches and set-top-boxes) as a first class citizen of the computing ecosystem - because if people have these devices, why shouldn't they be able to write software for them in Python. | ||
|
||
Native everywhere | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
It's easy to use themes to achieve cross-platform. However, it's easy to spot apps that have been built using themes - they're the ones that don't behave quite like any other app. Widgets don't look *quite* right, or there's a menu bar on a window in an OS X app. Themes can get quite close - but there are always telltale signs. | ||
|
||
On top of that, native widgets are always faster than a themed generic widget. After all, you're using native system capability that has been tuned and optimized, not a drawing engine that's been layered on top of a generic widget. | ||
|
||
Themes also miss many of the accessibility benefits of native platforms. Modern OS authors spend a lot of time tuning affordances for people with impaired mobility, vision or cognition. If you use native widgets, you usually get these affordances for free. If you reimplement widgets with a theme, you also have to re-implement the affordances. | ||
|
||
BeeWare uses native widgets and native functionality, rather than using a theme-based approach to application development. | ||
|
||
Python native | ||
~~~~~~~~~~~~~ | ||
|
||
BeeWare is also an unapologetically "Python first" framework. We like Python. We like the way it looks, and the way it works. If Python isn't available as a first-class option on a particular platform, we'll do whatever is necessary to make Python available as a development language. And when we have the opportunity to embrace Python idiom for an API or a design, we're going to do just that. That means we're going to use generators, context managers, `yield from` asynchronous calls, and more, in order to provide the best Python-native API for cross-platform app development. | ||
|
||
We're also looking to the future - this means that we support Python 3 exclusively. | ||
|
||
Native experience | ||
~~~~~~~~~~~~~~~~~ | ||
|
||
The experience of using any tool starts with the installation process. Part of BeeWare's "Native everywhere" philosophy is adopting appropriate native mechanisms for installation. If you're using a user-space tool, it should be presented to you as a package that is to be installed in the same way you would install any other tool - be that through an app store, an installer, or a simple executable package. End users shouldn't know that you've written the application in Python. | ||
|
||
But if you're using a developer tool or library, then it should integrate with your development environment. And since we're using Python, that means you should be able to install it into your virtual environment using `pip install` and nothing more. No C-extensions, no compilers, no setting system paths or environment variables - Just install it, import it, and start writing (or running) code. | ||
|
||
--- | ||
gutter: | ||
|
||
* `The Goal`_ | ||
- `Python everywhere`_ | ||
- `Native everywhere`_ | ||
- `Python native`_ | ||
- `Native experience`_ | ||
|
||
|
||
.. _`The Goal`: ./#the-goal | ||
.. _`Python everywhere`: ./#python-everywhere | ||
.. _`Native everywhere`: ./#native-everywhere | ||
.. _`Python native`: ./#python-native | ||
.. _`Native experience`: ./#native-experience | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
_model: page | ||
--- | ||
title: History and Philosophy | ||
--- | ||
summary: The history and philosophy of the BeeWare Project | ||
--- | ||
sort_key: 5 | ||
--- | ||
body: | ||
|
||
History | ||
======= | ||
|
||
The BeeWare project started with a simple question: Why aren't the tools that we use as Python developers improving at the same rate as the rest of the technology we use on a daily basis? | ||
|
||
Python has proven itself as a highly capable language - approachable for newcomers, but powerful in the hands of experts. Python is rapidly becoming a major part of the data analysis, scientific computing, and web development landscape. And initiatives like `Django Girls`_ have demonstrated that using Python, it is possible to provide a 1-day training courses that introducing people with no programming experience to Python; and at the end of a day, attendees have developed and deployed a database-backed dynamic website, deployed to a publicly visible server. | ||
|
||
.. _Django Girls: https://djangogirls.org/ | ||
|
||
However, the developer experience for someone writing Python sometimes reflects more of the early 90's than the new millennium. The default development environment for Python is still an 80x25 console window. For users who have come from a Windows or Apple environment, where they're used to highly detailed, well designed graphical interfaces, this 30 year flashback can be a completely alien experience. | ||
|
||
And, yes, there are IDEs (Integrated Development Environments) that provide a native application experience for writing code. But those tools require you to adopt, wholesale, the IDE's way of looking at a project. They often introduce as many headaches to the development process as they solve. | ||
|
||
And so, we're left with an interesting schism, between the "old way" of Unix development in a console window, and the "new way" of all-in-one IDEs. | ||
|
||
The Unix Philosophy | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
However, it doesn't have to be that way. The core tenet of the Unix Philosophy is that "each tool does one thing, well". This is a very powerful philosophy, and it enables the composition of extremely powerful toolchains by putting together a suite of extremely focussed, independent tools. | ||
|
||
Unfortunately, most UNIX tools have convolved this to also mean "all tools must use a console interface". However, there's nothing in the UNIX philosophy that says that tools have to use a console interface - it's just turned out that way. | ||
|
||
The BeeWare project started with the premise we can have the best of both worlds. We can have a chain of composable tools that each do one thing, well. But those tools can also expose their functionality using a rich graphical user interface. | ||
|
||
More than just code | ||
=================== | ||
|
||
It's about more than just code, though. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare community acknowledges that *all* contributions are important - not just the ones that come as a pull request on GitHub. | ||
|
||
Even then, it's easy to think of a project in a vacuum, as the sum of all contributions. But that's never the case. An open source project is about community. | ||
|
||
Diversity and inclusion | ||
~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
A diverse community is a strong community. This means accepting people of all levels of experience, from all backgrounds, of all races, creeds, orientations and expressions. The BeeWare project is committed to developing and maintaining a inclusive, diverse and welcoming community. | ||
|
||
To back this up, we have an open offer to mentor anyone who wants to get involved as a contributor, and a `Code of Conduct`_ that is rigorously enforced. Any reports of violations of that code of conduct - even by senior community members - will be treated with respect and actioned appropriately. | ||
|
||
.. _Code of Conduct: /community/behavior/code-of-conduct/ | ||
|
||
Healthy and sustainable | ||
~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
It's also important to make sure that the community is accessible and sustainable. It's unfortunately become an accepted part of Open Source culture that "true" Open Source projects have to be developed entirely by volunteers. This acts as a barrier to entry for many groups - the only people able to spend their free time volunteering are those that *have* free time. | ||
|
||
It also frequently leads to burnout and other mental health issues amongst contributors. The fact that depression, anxiety, and burnout are so common in software development communities shouldn't be considered a badge of honour, or a demonstration of how committed a development team can be. It's a problem that needs to be tackled head on, and addressed in the same way a software bug would be addressed - with immediate workarounds, and long term plans to remove the systemic cause of the problem. | ||
|
||
While we place incredible value on the contributions of volunteers, we also know that volunteer efforts alone aren't the way to develop a healthy and sustainable community. For that reason, financial sustainability is a key consideration in the operation of the BeeWare project. As a community, we don't ignore the role that money has to play in providing the resources that allows people to begin and continue to contribute. We will, as a community, provide accepted mechanisms for individuals to monetize their work in meaningful ways, and wherever possible, compensate people for their work - without compromising the ideals of Open Source development. | ||
|
||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
_model: page | ||
--- | ||
title: What is BeeWare? | ||
--- | ||
body: | ||
|
||
|
||
Python has proven itself as a highly capable language - approachable for newcomers, but powerful in the hands of experts. The BeeWare Project aims to take the power of Python as a language, and use it to enable users of all skill levels to develop applications with native user interfaces. | ||
|
||
The end goal of the BeeWare project: To be able to do for mobile and desktop user-facing software the same thing that Django has done for web software - to put into the hands of users a set of tools and libraries that enables them to develop rich, native user interfaces, and deploy them to their devices. This includes: | ||
|
||
* Tools to enable Python to run on different devices, | ||
* Tools to package a Python project so it can run on those devices, | ||
* Libraries to access the native widgets and capabilities of devices, | ||
* Tools to help develop, debug, analyze and deploy these projects. | ||
|
||
The aim is that this set of tools will be easy enough to use for complete newcomers to use in a Django Girls-like setting; but powerful enough that they could be used to drive the next Instagram, Pinterest or Disqus. | ||
|
||
We're not just about software, though. We also aim to be a project with a social conscience. We aim to develop and maintain a diverse and inclusive community, and we have a Code of Conduct that is rigorously enforced. We also aspire to develop a healthy and sustainable community - one that is aware of mental health issues of its participants, and provides the resources for people to start engaging, and continue to engage with the community. | ||
|
||
Where to from here? | ||
=================== | ||
|
||
If you'd like to know more about the history of BeeWare, `start here </project/about/>`__. | ||
|
||
If you'd like to take BeeWare for a test drive, `take a look at the the various ways BeeWare tools can be used </project/using/>`__. | ||
|
||
If you'd like to keep up to date with what we're doing, follow `@[email protected] <https://fosstodon.org/@beeware>`__ on Mastodon. If you'd like to receive updates, hints, tips and announcements about the BeeWare project, `sign up for the Beeware Enthusiasts mailing list </community/keep-informed/>`__. | ||
|
||
--- | ||
gutter: | ||
|
||
Next steps | ||
========== | ||
|
||
* The `History of the BeeWare project </project/about/>`__ | ||
* `BeeWare test drive </project/using/>`__ | ||
* `@[email protected] on Mastodon <https://fosstodon.org/@beeware>`__ | ||
* The `Beeware Enthusiasts mailing list </community/keep-informed/>`__ | ||
|
||
--- | ||
incomplete: no | ||
--- | ||
sort_key: 1 | ||
--- | ||
summary: A first-timer's introduction to the BeeWare project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The language selection is already a pulldown, with a style; why do we need a separate style here? (or, if the issue is dark mode vs light mode - why isn't the fix making the language pulldown style dark?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assumed there was a reason for the background color of the language puilldown, and didn't want to change it. Fixing the language pulldown is a much better solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The language dropdown has been updated to match the rest of the theme.