Pixano Elements
Pixano Elements - Library of web components dedicated to data annotation tasks. A complete and ready-to-use annotation application is available at https://github.com/pixano/pixano-app
.
IMPORTANT: The Pixano Web Components are a work in progress and subject to major changes until 1.0 release.
Playcode demo (smart-segmentation, cuboid, rectangle, smart-rectangle)
Automatic build tests on Ubuntu (latest) and node version 10, 12, 14.
Table of content
- Components overview
- Requirements
- Build and run the overall demo
- Documentation
- Contributing
- Change log
- License
Components overview
The Pixano Elements are divided into packages
. Each package can be installed independantly from NPM using the following command:
npm install @pixano/graphics-2d
Each package can contain multiple web components which are regrouped by affinity.
Component | Status | Demo |
---|---|---|
<pxn-rectangle> |
demo | |
<pxn-polygon> |
demo | |
<pxn-segmentation> |
demo | |
<pxn-keypoints> |
demo | |
<pxn-smart-rectangle> |
demo | |
<pxn-cuboid-editor> |
demo |
Requirements
Pixano requires WebGL to be activated in your browser. If you see the following error in you console WebGL unsupported in this browser
, please activate it.
For development, you will only need Node.js installed in your environement.
-
Just go on official Node.js website and download the installer. Also, be sure to have
git
available in your PATH,npm
might need it (You can find git here). -
You can install nodejs and npm easily with apt install, just run the following commands.
sudo apt install nodejs sudo apt install npm
Or install it with snap:
sudo snap install node
-
You can find more information about the installation on the official Node.js website and the official NPM website.
If the installation was successful, you should be able to run the following command.
node --version
# v8.11.3
npm --version
# 6.10.0
note about npm version
If you need to install a specific version of npm, you can use the following command line:
npm install -g npm@6.10.0
If you encounter "EACCES: permission denied" error message, please follow this guide.
Build and run the overall demo
An online serverless demo is available on our dedicated website.
If you want to build the latests version, it's easy:
git clone https://github.com/pixano/pixano-elements.git
cd pixano-elements
npm run deps
npm run build
npx serve demo
Documentation
You can also try the demos on our website.
Contributing
Clone and setup the repo:
git clone https://github.com/pixano/pixano-elements.git
cd pixano-elements
npm run deps
npm run build
Run the demo locally:
npx serve demo
This demo takes your local modifications into account, thanks to a bootstrap step.
After some modifications, test them by rebuilding:
npm run build
npx serve demo
If you modified the dependencies, you better clean the project before rebuilding:
npm run clearall
npm run deps
npm run build
npx serve demo
Getting started
To create a new component, check our tutorial.
Please follow our coding guidelines for your contributions.
Pull request
Starting from scratch :
# 1. Start by cloning the original repository
git clone https://github.com/pixano/pixano-elements.git
# 2. Fork the repo (Fork button at https://github.com/pixano/pixano-elements) to your personal github
# Then configure the git remote for the fork ($MY_ACCOUNT is your personal github)
git remote add upstream https://github.com/$MY_ACCOUNT/pixano-elements.git
git fetch upstream
# 3. Create a new branch for dedicated bug fix or new feature
git checkout -b feature-xyz upstream/master
# 4. Do your changes in feature-xyz branch :)
git commit -a -m "Add xyz feature"
git push -u upstream feature-xyz
# Then make sure your branch is up to date with the original repository
git merge origin/master
# 5. Then in the browser navigate to the original URL of the original pixano-elements repo
# Click on “Create Pull Request”
From an existing clone with many changes (whether you want to publish all or only one of the changes) :
# 1. Instead of making a new clone, use your existing one and add two upsteams:
# One for your fork and one for the original repository:
git remote add upstream-fork https://github.com/$MY_ACCOUNT/pixano-elements.git
git remote add upstream-origin https://github.com/pixano/pixano-elements.git
# 2. Create a new branch for dedicated bug fix or new feature
git checkout -b feature-xyz upstream-fork/master
# 3. Cherry pick from commit from your enriched branch (replace by your targeted commit)
# Or merge all if you want to publish everything
git cherry-pick 52cd7ez # or git merge my_existing_branch
git push -u upstream-fork feature-xyz
# 4. Make sure you're up-to-date with you upstream-origin
git merge upstream-origin/master
# 5. Create pull request like described above
Change log
License
Pixano is released under the CeCILL-C license, a free software license adapted to both international and French legal matters that is fully compatible with the FSF's GNU/LGPL license.