![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
@prodo-ai/snoopy-ui
Advanced tools
To get started, we recommend installing Snoopy with yarn add --dev @prodo-ai/snoopy
or npm install --save-dev @prodo-ai/snoopy
. Then you can run:
$ ./node_modules/.bin/snoopy
Alternatively, you can simply run this inside your project's root or source directory, but it might be slower:
$ npx @prodo-ai/snoopy
To interact with the UI, go to localhost:3042/ (or a different port that the CLI will notify you about if this one is busy).
Snoopy will detect most exported components automatically.
If you find any that are missing, add // @snoopy
above the export line to
display/preview/visualize it (and let us know so we can detect it in the future).
If you want Snoopy to ignore your component, put the // @snoopy:ignore
tag
above the export line.
For pure components, you don't need to do anything else. If your component requires props to be passed in, you will need to define examples.
Examples are defined in a separate examples/
directory at the root of your
project (where your package.json
file is). All source files in this directory
are searched, but the convention is to name the file Component.example.jsx
).
The default export of this file is the component that the examples are for. All
other named exports are examples that will be displayed in the UI.
Here is a simple example:
// src/components/Counter.tsx
import React from "react";
export default ({count}) => <p>{count}</p>;
// examples/Counter.example.jsx
import Counter from "../src/components/Counter";
export default Counter;
export const count0 = <Counter count={0} />;
count0.title = "Count is 0";
export const count10 = <Counter count={10} />;
count10.title = "Count is 10";
You can also use Snoopy with TypeScript.
If you use the styled-components
ThemeProvider, you can also annotate your
exported themes with // @snoopy:theme
to visualize your components in different
themes.
If you want to include any application-level CSS files, just put a /* @snoopy:styles */
comment anywhere inside the file, and they will be applied to
all your examples.
We support many libraries and use cases, including:
Here's a list of things we don't support yet, most of which are on the roadmap:
There are a couple of cases where you may want to tweak something in your code to get it fully working in Snoopy.
import * as image from ...
syntax, try replacing it with
import image from ...
.Here is a
basic example of a Counter project set up for testing with Snoopy. In it, we test
the following components: App
, Button
and Counter
.
We also test Snoopy with Snoopy, so you can check our source code directly.
We'd love your feedback! You can reach us at hello@prodo.ai.
You can also talk to us directly on Spectrum.
0.2.0 - 2019-05-24
@prodo
annotations to @snoopy
.FAQs
<a href="https://ww
The npm package @prodo-ai/snoopy-ui receives a total of 1 weekly downloads. As such, @prodo-ai/snoopy-ui popularity was classified as not popular.
We found that @prodo-ai/snoopy-ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 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.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.