updates for 0.8.2 release, incluing PyPi support
This commit is contained in:
@@ -1,2 +1,7 @@
|
|||||||
__pycache__
|
__pycache__
|
||||||
|
Pipfile
|
||||||
Pipfile.lock
|
Pipfile.lock
|
||||||
|
scratch*
|
||||||
|
.idea
|
||||||
|
build
|
||||||
|
dist
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
[[source]]
|
|
||||||
|
|
||||||
url = "https://pypi.python.org/simple"
|
|
||||||
verify_ssl = true
|
|
||||||
name = "pypi"
|
|
||||||
|
|
||||||
|
|
||||||
[requires]
|
|
||||||
|
|
||||||
python_version = '3'
|
|
||||||
|
|
||||||
|
|
||||||
[dev-packages]
|
|
||||||
|
|
||||||
nose = "*"
|
|
||||||
requests-mock = ">=1.3"
|
|
||||||
pipenv = "*"
|
|
||||||
|
|
||||||
|
|
||||||
[packages]
|
|
||||||
|
|
||||||
sleekxmpp = ">=1.3"
|
|
||||||
click = ">=6"
|
|
||||||
requests = ">=2.18"
|
|
||||||
pycryptodome = ">=3.4"
|
|
||||||
pycountry-convert = ">=0.5"
|
|
||||||
@@ -13,7 +13,7 @@ Does it work for your model as well? Join the discussion on the
|
|||||||
[sucks-users mailing
|
[sucks-users mailing
|
||||||
list](https://groups.google.com/forum/#!forum/sucks-users).
|
list](https://groups.google.com/forum/#!forum/sucks-users).
|
||||||
|
|
||||||
If you're curious about the protocol, I have [a rough doc](protocol.md)
|
If you're curious about the protocol, I have [a rough doc](http://github.com/wpietri/sucks/blob/master/protocol.md)
|
||||||
started. I'll happily accept pull requests for it.
|
started. I'll happily accept pull requests for it.
|
||||||
|
|
||||||
Why the project name? Well, a) it's ridiculous that I needed to MITM
|
Why the project name? Well, a) it's ridiculous that I needed to MITM
|
||||||
@@ -23,15 +23,14 @@ it's a vacuum.
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Check out this code, possibly create a virtualenv, and do
|
If you have a recent version of python, you should be able to
|
||||||
`pip install pipenv; pip install -e .`. If that doesn't work for
|
do `pip install sucks` to get the most recently released version of
|
||||||
you, please [open an issue](https://github.com/wpietri/sucks/issues).
|
this.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
To get started, you'll need to have already set up an EcoVacs account
|
To get started, you'll need to have already set up an EcoVacs account
|
||||||
using your smartphone. I've only tested this with Android, but I expect
|
using your smartphone.
|
||||||
it will work with iPhone-created accounts as well.
|
|
||||||
|
|
||||||
Step one is to log in:
|
Step one is to log in:
|
||||||
```
|
```
|
||||||
@@ -44,7 +43,8 @@ Step one is to log in:
|
|||||||
```
|
```
|
||||||
|
|
||||||
That creates a config file in ~/.config.sucks.conf. The password is
|
That creates a config file in ~/.config.sucks.conf. The password is
|
||||||
hashed before saving, so it's reasonably safe.
|
hashed before saving, so it's reasonably safe. (If it doesn't appear
|
||||||
|
to work for your continent, try "ww", their world-wide catchall.)
|
||||||
|
|
||||||
With that set up, you could have it clean in auto mode for 10 minutes
|
With that set up, you could have it clean in auto mode for 10 minutes
|
||||||
and return to its charger:
|
and return to its charger:
|
||||||
@@ -83,7 +83,7 @@ so it also has a mode where it randomly decides to run or not based on
|
|||||||
a frequency you give it. My crontab entry looks like this:
|
a frequency you give it. My crontab entry looks like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
0 10 * * * /home/william/projects/sucks/sucks clean -f 4/7 15 edge -f 1/14 10
|
0 10 * * * /home/william/projects/sucks/sucks.sh clean -f 4/7 15 edge -f 1/14 10
|
||||||
```
|
```
|
||||||
|
|
||||||
This means that every day at 10 am, it might do something. 4 days out
|
This means that every day at 10 am, it might do something. 4 days out
|
||||||
@@ -118,9 +118,9 @@ vacbot.run(Charge()) # return to the charger
|
|||||||
## Developing
|
## Developing
|
||||||
|
|
||||||
If you'd like to join in on developing, I recommend checking out the code,
|
If you'd like to join in on developing, I recommend checking out the code,
|
||||||
doing `pipenv install` to set up a virtual environment, and then `pipenv shell`
|
setting up a virtual environment, and doing `pip install -e .`. You can
|
||||||
to start using it. You can run the existing tests using `nosetests`. Current
|
run the existing tests using `nosetests`. Current test are not yet
|
||||||
test are not yet comprehensive, as the integrated nature of this makes it difficult.
|
comprehensive, as the integrated nature of this makes it difficult.
|
||||||
But I aim to reduce that problem over time, so please add tests as you go.
|
But I aim to reduce that problem over time, so please add tests as you go.
|
||||||
|
|
||||||
|
|
||||||
@@ -142,12 +142,4 @@ very helpful in figuring out what the Android app was up to,
|
|||||||
experiments](https://community.smartthings.com/t/ecovacs-deebot-n79/93410/33)
|
experiments](https://community.smartthings.com/t/ecovacs-deebot-n79/93410/33)
|
||||||
with his device, and
|
with his device, and
|
||||||
* All the users who have given useful feedback and reported on how it is
|
* All the users who have given useful feedback and reported on how it is
|
||||||
working for them.
|
working for them, and even contributed code.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## To Do
|
|
||||||
|
|
||||||
* add a status commmand
|
|
||||||
|
|||||||
@@ -1,24 +1,17 @@
|
|||||||
from setuptools import setup, find_packages
|
|
||||||
from codecs import open
|
from codecs import open
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
from pipenv.project import Project
|
from setuptools import setup, find_packages
|
||||||
from pipenv.utils import convert_deps_to_pip
|
|
||||||
|
|
||||||
pfile = Project(chdir=False).parsed_pipfile
|
|
||||||
requirements = convert_deps_to_pip(pfile['packages'], r=False)
|
|
||||||
test_requirements = convert_deps_to_pip(pfile['dev-packages'], r=False)
|
|
||||||
|
|
||||||
|
|
||||||
here = path.abspath(path.dirname(__file__))
|
here = path.abspath(path.dirname(__file__))
|
||||||
|
|
||||||
# Get the long description from the README file
|
# Get the long description from the README file
|
||||||
with open(path.join(here, 'README.md'), encoding='utf-8') as f:
|
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
|
||||||
long_description = f.read()
|
long_description = f.read()
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='sucks',
|
name='sucks',
|
||||||
version='0.8.1',
|
version='0.8.2',
|
||||||
|
|
||||||
description='a library for controlling certain robot vacuums',
|
description='a library for controlling certain robot vacuums',
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
@@ -60,20 +53,28 @@ setup(
|
|||||||
# simple. Or you can use find_packages().
|
# simple. Or you can use find_packages().
|
||||||
packages=find_packages(exclude=['contrib', 'docs', 'tests']),
|
packages=find_packages(exclude=['contrib', 'docs', 'tests']),
|
||||||
|
|
||||||
|
|
||||||
# List run-time dependencies here. These will be installed by pip when
|
# List run-time dependencies here. These will be installed by pip when
|
||||||
# your project is installed. For an analysis of "install_requires" vs pip's
|
# your project is installed. For an analysis of "install_requires" vs pip's
|
||||||
# requirements files see:
|
# requirements files see:
|
||||||
# https://packaging.python.org/en/latest/requirements.html
|
# https://packaging.python.org/en/latest/requirements.html
|
||||||
|
|
||||||
install_requires=convert_deps_to_pip(pfile['packages'], r=False),
|
install_requires=[
|
||||||
|
'sleekxmpp>=1.3',
|
||||||
|
'click>=6',
|
||||||
|
'requests>=2.18',
|
||||||
|
'pycryptodome>=3.4',
|
||||||
|
'pycountry-convert>=0.5'
|
||||||
|
],
|
||||||
|
|
||||||
# List additional groups of dependencies here (e.g. development
|
# List additional groups of dependencies here (e.g. development
|
||||||
# dependencies). You can install these using the following syntax,
|
# dependencies). You can install these using the following syntax,
|
||||||
# for example:
|
# for example:
|
||||||
# $ pip install -e .[dev,test]
|
# $ pip install -e .[dev,test]
|
||||||
extras_require={
|
extras_require={
|
||||||
'dev': convert_deps_to_pip(pfile['dev-packages'], r=False),
|
'dev': [
|
||||||
|
'nose',
|
||||||
|
'requests-mock>=1.3'
|
||||||
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
# If there are data files included in your packages that need to be
|
# If there are data files included in your packages that need to be
|
||||||
|
|||||||
Reference in New Issue
Block a user