
Research
PyPI Package Disguised as Instagram Growth Tool Harvests User Credentials
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Rio is an easy to use framework for creating websites and apps and is based entirely on Python. 🐍
You won't need a single line of HTML, CSS, or
JavaScript to create beautiful, modern apps.
Tutorial - Examples - Discord - Docs - Source Code
Rio brings React-style components to Python. Pull from a wealth of built-in
components and combine them to create your own custom components. Then combine
those into entire apps. Best of all, Rio apps can run both locally on your
machine and on the web.
rio.Switch
, rio.Button
, and rio.Text
, and many more# Define a component that counts button clicks
class ButtonClicker(rio.Component):
# Define the attributes of the component. Rio will watch these
# for changes and automatically update the GUI.
clicks: int = 0
# Define a method that increments the click count. We'll later
# make a button that calls this method whenever it is pressed.
def _on_press(self) -> None:
self.clicks += 1
# Define the `build` method. This method essentially tells rio
# what a ButtonClicker component looks like. Whenever the state
# of the ButtonClicker component changes, rio will call its
# `build` method and update the GUI according to the output.
def build(self) -> rio.Component:
return rio.Column(
rio.Button('Click me', on_press=self._on_press),
rio.Text(f'You clicked the button {self.clicks} time(s)'),
)
# Create an App and tell it to display a ButtonClicker when it starts
app = rio.App(build=ButtonClicker)
app.run_in_browser() # Or `app.run_in_window()` to run as local app!
Rio is available on PyPI, so you can install it using pip:
pip install rio-ui
Rio comes with a very helpful command line utility to help you out. Create a new project in one short command:
rio new
You can choose from a variety of built-in templates to get you started. Here's a complete example to create a project based on the tic-tac-toe template:
rio new my-project --type website --template "Tic-Tac-Toe"
cd my-project
rio run
You'll have your first app up and running in seconds!
Every project thrives with a helping hand, and that's especially true for Rio. There are lots of ways to jump in, like adding new features, fixing bugs, or just sharing your ideas. Check out our Contributing Guide when submitting a Pull Request to the project. Rio keeps getting better with new features rolling out every week. Star ⭐ and 👀 watch this repo to stay in the loop!
Unless you explicitly state otherwise, any contribution submitted for inclusion in Rio shall be licensed under the terms of the Apache-2.0 license, without any additional terms or conditions.
Join the Rio adventure and be part of an awesome fellowship! Here is how to get in touch:
For general help using Rio, please refer to the official Rio documentation.
FAQs
Build modern Websites and Apps just with Python
We found that rio-ui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.