updates for 0.8.2 release, incluing PyPi support

This commit is contained in:
William Pietri
2017-12-10 17:30:34 -08:00
parent 5dcb819d6a
commit f2690e0777
4 changed files with 31 additions and 59 deletions
+5
View File
@@ -1,2 +1,7 @@
__pycache__ __pycache__
Pipfile
Pipfile.lock Pipfile.lock
scratch*
.idea
build
dist
-26
View File
@@ -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"
+12 -20
View File
@@ -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
+14 -13
View File
@@ -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