Git Product home page Git Product logo

home-assistant-mail-and-packages's Introduction

GitHub GitHub Repo stars GitHub release (latest by date) hacs_badge Pytest CodeQL Validate with hassfest

GitHub contributors Maintenance GitHub commit activity GitHub commits since tagged version GitHub last commit Codecov branch

About Mail and Packages integration

The Mail and Packages integration creates sensors for supported shippers to show a snapshot of mail and packages that are scheduled to be delivered the current day. For the packages that are scheduled for delivery the current day a count of in transit and delivered packages will be provided. It also generates the number of USPS mail pieces and provides a rotating GIF of the USPS provided images of the mail, if available, for the current day.

Credits:

  • Huge contributions from @firstof9 moving the project forward and keeping it active!
    Buy Us A Coffee

How it works

From your instance of HASS, the Mail and Packages integration connects to the email account you supply where your shipment notifications are sent. It reviews at the subject lines of the current day's emails from the supported shippers and counts the subject lines that match known language from the supported shippers about their transit status. For USPS Informed delivery emails, it also downloads the mail images to combine them into a rotating GIF. See the WIKI information on how this works.

The email can not be deleted until the next day. You can have your email filtered into a folder and have the integration watch that folder.

The image will revert back to the no mail graphic after the first email check after midnight, local time.

  • All procedures are done locally on your machine.
  • No external services are used to process your email.
  • No data is sent outside of your local instance of Home Assistant
*Privacy / Security Note

Please note that files stored in the www Home Assistant folder are publicly accessible unless you have taken security measures outside of Home Assistant to secure it. For increased security and simplicity the USPS Informed Delivery image name is random by default and no longer has the option to turn it on/off. Two new sensors have been created that provide the local file path or a web accessible url for use in displaying or sending in various Home Assistant notification methods.

  • sensor.mail_image_system_path
  • sensor.mail_image_url - Requires that either External_URL or Internal_URL is defined in the general configuration options in Home Assistant.

Support

Configuration

Troubleshooting

Supported Shipper Requirements

Template and Examples

USPS Informed Delivery Image

Text Summary

Notificaions

home-assistant-mail-and-packages's People

Contributors

blueshiftlabs avatar boradwell avatar calvinwankhede avatar dennyreiter avatar domoritz avatar firstof9 avatar fuzzymistborn avatar kaizersoje avatar keslerm avatar kubawolanin avatar moralmunky avatar reenignearcher avatar sebasptsch avatar wrt54g avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

home-assistant-mail-and-packages's Issues

setter is defined without getter

Getting this when Hassio boots up:

mail_and_packages/mail_and_packages.js?v=.01:1:1 Uncaught SyntaxError: Unexpected token '<'

then in mail_and_packages.js the error is on line 2:

setter is defined without getter

Is my host correct.

A couple of issues I seem to be having is I'm getting the sensors to come up, but I don't believe its logging in correctly. I get notified that I have no packages even though I know there's a USPS package coming on June 4.

My error looks like this:
2019-06-02 04:22:37 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up platform mail_and_packages Traceback (most recent call last): File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 126, in _async_setup_platform SLOW_SETUP_MAX_WAIT, loop=hass.loop) File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for return fut.result() File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result raise self._exception File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run result = self.fn(*self.args, **self.kwargs) File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 85, in setup_platform add_devices([MailCheck(),USPS_Mail(),USPS_Delivering(),USPS_Delivered(),UPS_Delivering(),UPS_Delivered(),FEDEX_Delivering(),FEDEX_Delivered()]) File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 137, in __init__ self.update() File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/util/__init__.py", line 224, in wrapper result = method(*args, **kwargs) File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 159, in update account = login() File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 360, in login account = imaplib.IMAP4_SSL(host, port) File "/usr/lib/python3.5/imaplib.py", line 1269, in __init__ IMAP4.__init__(self, host, port) File "/usr/lib/python3.5/imaplib.py", line 192, in __init__ self._connect() File "/usr/lib/python3.5/imaplib.py", line 240, in _connect raise self.error(self.welcome) imaplib.IMAP4.error: None

My config currently as follows. I've tried changing the path to the full path, that didn't work. I went from my regular password which has two step authentication to an app password, that didn't work. I tried the using imap instead of pop, and that didn't work either. I'm running out of ideas.
mail_and_packages: host: pop.gmail.com port: 995 username: [email protected] password: APP Password folder: 'Inbox' image_output_path: '/local/mail_and_packages/'

Any information you may have would be a big help.

UPS email(s)

Emails are not parsing correctly or something is going on. I have my USP account setup, but nothing is showing in Home assistant.

I can add any information as needed.

Adding UPS/FedEx to Deliveries Summary sensor

In another issue (now closed) I mentioned that I was going to try to add the UPS and Fedex sensors to the mail deliveries message template and I just wanted to leave this here in case you wanted to use it. It's working well for me. (I also integrated my mailbox sensor to the card so that the delivery sentence is replaced by a template that shows when the mail was delivered, but that's out of scope for this. I'd be happy to share it though if anyone can use it!)

# Mail and Package Sensors
- platform: template
  sensors:
    mail_deliveries_message:
      friendly_name: "Deliveries Summary"
      entity_id: 
        - sensor.mail_usps_mail
        - sensor.mail_usps_delivering
        - sensor.mail_fedex_delivering
        - sensor.mail_ups_delivering
      value_template: > 
        {# Deliveries Sentence #}
          {% macro deliveries_sentence() -%}
                {%- if states("sensor.mail_usps_mail")|int == 0 -%}
                  No
                {%- else -%}
                  {{states("sensor.mail_usps_mail")|int}}
                {%- endif -%}
              {{' '}} 
                {%- if states("sensor.mail_usps_mail")|int <= 1 -%}
                  mail piece
                {%- else -%}
                  pieces of mail
                {%- endif -%}
              {{' '}}will be delivered.{{' '}} 
                {%- if states("sensor.mail_usps_delivering")|int == 0 -%}
                  No
                {%- else -%}
                  {{states("sensor.mail_usps_delivering")|int}}
                {%- endif -%}
              {{' '}} 
                {%- if states("sensor.mail_usps_delivering")|int == 1 -%}
                  USPS package is
                {%- else -%}
                  USPS packages are
                {%- endif -%}
              {{' '}}in transit.{{' '}}
                {%- if states("sensor.mail_fedex_delivering")|int == 0 -%}
                  No
                {%- else -%}
                  {{states("sensor.mail_fedex_delivering")|int}}
                {%- endif -%}
              {{' '}} 
                {%- if states("sensor.mail_fedex_delivering")|int == 1 -%}
                  FedEx package is
                {%- else -%}
                  Fedex packages are
                {%- endif -%}
              {{' '}}in transit.{{' '}}
              {%- if states("sensor.mail_ups_delivering")|int == 0 -%}
                  No
                {%- else -%}
                  {{states("sensor.mail_ups_delivering")|int}}
                {%- endif -%}
              {{' '}} 
                {%- if states("sensor.mail_ups_delivering")|int == 1 -%}
                  UPS package is
                {%- else -%}
                  UPS packages are
                {%- endif -%}
              {{' '}}in transit.{{' '}}
          {%- endmacro %}
        {{deliveries_sentence()}}

imamplib.IMAP4.abort:socket error: EOF

Seeing this in my log a few times:

2020-02-26 22:02:45 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.mail_ups_delivered fails
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/imaplib.py", line 1019, in _command_complete
    typ, data = self._get_tagged_response(tag)
  File "/usr/local/lib/python3.7/imaplib.py", line 1139, in _get_tagged_response
    self._get_response()
  File "/usr/local/lib/python3.7/imaplib.py", line 1047, in _get_response
    resp = self._get_line()
  File "/usr/local/lib/python3.7/imaplib.py", line 1151, in _get_line
    raise self.abort('socket error: EOF')
imaplib.IMAP4.abort: socket error: EOF

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 279, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 461, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/mail_and_packages/sensor.py", line 623, in update
    self.data.update()
  File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 240, in wrapper
    result = method(*args, **kwargs)
  File "/config/custom_components/mail_and_packages/sensor.py", line 114, in update
    selectfolder(account, self._folder)
  File "/config/custom_components/mail_and_packages/sensor.py", line 795, in selectfolder
    rv, mailboxes = account.list()
  File "/usr/local/lib/python3.7/imaplib.py", line 585, in list
    typ, dat = self._simple_command(name, directory, pattern)
  File "/usr/local/lib/python3.7/imaplib.py", line 1196, in _simple_command
    return self._command_complete(name, self._command(name, *args))
  File "/usr/local/lib/python3.7/imaplib.py", line 1021, in _command_complete
    raise self.abort('command: %s => %s' % (name, val))
imaplib.IMAP4.abort: command: LIST => socket error: EOF

Removed configuration support

Why not preserve configuration support and support new config entry flow too? Removing this functionality is cumbersome to some users... Power users

ISSUE: Using a Group Email to send delivery notifications rather than email Collecting delivery notifications

Currently i cannot get the Module to work properly in my situation. I currently utilize a group email address to send the USPS, Fedex, and UPS delivery notifications to. This group name is different than the email address I have tied to Mail and Packages, and it never shows the mail or deliveries for the day. Is it possible that the program is checking that the mail was sent to the same account that is registered with the integration

Environment (please complete the following information):

  • OS: Ubuntu in Docker HASSIO
  • Type of device: [e.g. VM on Dell R710
  • Home Assistant version: 107.7
  • Hassio/Docker/Core? HASSIO in DOCKER
  • Component version: 0.1.2-1

Logs
No Errors in the log

Screenshots
N/A

ISSUE: Possible USPS subject change for pre-delivery alert

Describe the bug
Subject line for USPS pre-delivery day notification used the same language as day of delivery notifications, 'USPS® Expected Delivery on.' This creates a false positive that a package will be delivered the day it occurs.

In the past pre-delivery day notifications use the phrase 'USPS® Expected Delivery by.'

Environment (please complete the following information):

  • OS: Ubuntu
  • Type of device: LXC
  • Home Assistant version: 0.105.3
  • Hassio/Docker/Core? Core

Logs
N/A

Screenshots
Screen Shot 2020-03-09 at 12 53 34 PM

Screen Shot 2020-03-09 at 12 56 46 PM

Additional context
Add any other context about the problem here.

image-no-mailpieces700.jpg error

The informed delivery function will only copy the image-no-mailpieces700.jpg to the www path if the mail_none.gif does not exist This is true on the first install but not once an informed delivery email comes through that has the need for the image-no-mailpieces700.jpg. The image-no-mailpieces700.jpg file is then removed from the www path when the temporary images are deleted and will return file not found error and the component stops functioning.

I see two options:

  1. Remove the image-no-mailpieces700.jpg from the array before we delete the temporary image
  2. Reference the mail_none.gif and image-no-mailpieces700.jpg from the custom_component folder when they are needed to create the gif and no longer copying them to the www path.

I think option 2, @firstof9 thoughts? I don't think there is a need for copying those files any longer. And since we only have a need for the gif to be stored in the www file, we could probably do it in in www without creating a subfolder.

Issue with Scipy

With version 5cc6e12 I recieve the following error, the Scripy setup fails out.

Mon Feb 24 2020 07:00:15 GMT-0600 (Central Standard Time) Setup failed for mail_and_packages: Requirements for mail_and_packages not found: ['scipy'].

`Log Details (ERROR)
Mon Feb 24 2020 07:00:15 GMT-0600 (Central Standard Time)
Unable to install package scipy: ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3 /usr/local/lib/python3.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-bzzwm1d2/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --find-links https://wheels.home-assistant.io/alpine-3.10/armv7/ -- wheel setuptools 'Cython>=0.29.13' 'numpy==1.13.3; python_version=='"'"'3.5'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.13.3; python_version=='"'"'3.6'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.16.0; python_version=='"'"'3.5'"'"' and platform_system=='"'"'AIX'"'"'' 'numpy==1.16.0; python_version=='"'"'3.6'"'"' and platform_system=='"'"'AIX'"'"'' 'numpy==1.16.0; python_version=='"'"'3.7'"'"' and platform_system=='"'"'AIX'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"' and platform_system=='"'"'AIX'"'"'' 'pybind11>=2.4.0'
cwd: None
Complete output (585 lines):
Keyring is skipped due to an exception: 'PosixPath' object has no attribute 'read_text'
Ignoring numpy: markers 'python_version == "3.5" and platform_system != "AIX"' don't match your environment
Ignoring numpy: markers 'python_version == "3.6" and platform_system != "AIX"' don't match your environment
Ignoring numpy: markers 'python_version >= "3.8" and platform_system != "AIX"' don't match your environment
Ignoring numpy: markers 'python_version == "3.5" and platform_system == "AIX"' don't match your environment
Ignoring numpy: markers 'python_version == "3.6" and platform_system == "AIX"' don't match your environment
Ignoring numpy: markers 'python_version == "3.7" and platform_system == "AIX"' don't match your environment
Ignoring numpy: markers 'python_version >= "3.8" and platform_system == "AIX"' don't match your environment
Looking in links: https://wheels.home-assistant.io/alpine-3.10/armv7/
Collecting wheel
Using cached https://files.pythonhosted.org/packages/8c/23/848298cccf8e40f5bbb59009b32848a4c38f4e7f3364297ab3c3e2e2cd14/wheel-0.34.2-py2.py3-none-any.whl
Collecting setuptools
Using cached https://files.pythonhosted.org/packages/3d/72/1c1498c1e908e0562b1e1cd30012580baa7d33b5b0ffdbeb5fde2462cc71/setuptools-45.2.0-py3-none-any.whl
Collecting Cython>=0.29.13
Using cached https://wheels.home-assistant.io/alpine-3.10/armv7/Cython-0.29.15-cp37-none-any.whl
Collecting numpy==1.14.5
Using cached https://files.pythonhosted.org/packages/d5/6e/f00492653d0fdf6497a181a1c1d46bbea5a2383e7faf4c8ca6d6f3d2581d/numpy-1.14.5.zip
Collecting pybind11>=2.4.0
Using cached https://files.pythonhosted.org/packages/4b/4d/ae1c4d8e8b139afa9682054dd42df3b0e3b5c1731287933021b9fd7e9cc4/pybind11-2.4.3-py2.py3-none-any.whl
Building wheels for collected packages: numpy
Building wheel for numpy (setup.py): started
Building wheel for numpy (setup.py): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"'; file='"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-_zhebn1d --python-tag cp37
cwd: /tmp/pip-install-edp6jc_o/numpy/
Complete output (258 lines):
Running from numpy source directory.
blas_opt_info:
blas_mkl_info:
customize UnixCCompiler
libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE

blis_info:
customize UnixCCompiler
  libraries blis not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

openblas_info:
customize UnixCCompiler
customize UnixCCompiler
  libraries openblas not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
  libraries tatlas not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

atlas_3_10_blas_info:
customize UnixCCompiler
  libraries satlas not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

atlas_blas_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
  libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

atlas_blas_info:
customize UnixCCompiler
  libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
    Atlas (http://math-atlas.sourceforge.net/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [atlas]) or by setting
    the ATLAS environment variable.
  self.calc_info()
blas_info:
customize UnixCCompiler
  libraries blas not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
    Blas (http://www.netlib.org/blas/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [blas]) or by setting
    the BLAS environment variable.
  self.calc_info()
blas_src_info:
  NOT AVAILABLE

/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
    Blas (http://www.netlib.org/blas/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [blas_src]) or by setting
    the BLAS_SRC environment variable.
  self.calc_info()
  NOT AVAILABLE

/bin/sh: svnversion: not found
non-existing path in 'numpy/distutils': 'site.cfg'
/bin/sh: svnversion: not found
F2PY Version 2
lapack_opt_info:
lapack_mkl_info:
customize UnixCCompiler
  libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

openblas_lapack_info:
customize UnixCCompiler
customize UnixCCompiler
  libraries openblas not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

openblas_clapack_info:
customize UnixCCompiler
customize UnixCCompiler
  libraries openblas,lapack not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
  libraries tatlas,tatlas not found in /usr/local/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/local/lib
customize UnixCCompiler
  libraries tatlas,tatlas not found in /usr/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
  NOT AVAILABLE

atlas_3_10_info:
customize UnixCCompiler
  libraries satlas,satlas not found in /usr/local/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/local/lib
customize UnixCCompiler
  libraries satlas,satlas not found in /usr/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_3_10_info'>
  NOT AVAILABLE

atlas_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
  libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/local/lib
customize UnixCCompiler
  libraries ptf77blas,ptcblas,atlas not found in /usr/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_threads_info'>
  NOT AVAILABLE

atlas_info:
customize UnixCCompiler
  libraries f77blas,cblas,atlas not found in /usr/local/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/local/lib
customize UnixCCompiler
  libraries f77blas,cblas,atlas not found in /usr/lib
customize UnixCCompiler
  libraries lapack_atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_info'>
  NOT AVAILABLE

lapack_info:
customize UnixCCompiler
  libraries lapack not found in ['/usr/local/lib', '/usr/lib']
  NOT AVAILABLE

/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
    Lapack (http://www.netlib.org/lapack/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [lapack]) or by setting
    the LAPACK environment variable.
  self.calc_info()
lapack_src_info:
  NOT AVAILABLE

/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
    Lapack (http://www.netlib.org/lapack/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [lapack_src]) or by setting
    the LAPACK_SRC environment variable.
  self.calc_info()
  NOT AVAILABLE

/usr/local/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
  warnings.warn(msg)
running bdist_wheel
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building py_modules sources
creating build
creating build/src.linux-armv7l-3.7
creating build/src.linux-armv7l-3.7/numpy
creating build/src.linux-armv7l-3.7/numpy/distutils
building library "npymath" sources
get_default_fcompiler: matching types: '['gnu95', 'intel', 'lahey', 'pg', 'absoft', 'nag', 'vast', 'compaq', 'intele', 'intelem', 'gnu', 'g95', 'pathf95', 'nagfor']'
customize Gnu95FCompiler
Could not locate executable gfortran
Could not locate executable f95
customize IntelFCompiler
Could not locate executable ifort
Could not locate executable ifc
customize LaheyFCompiler
Could not locate executable lf95
customize PGroupFCompiler
Could not locate executable pgfortran
customize AbsoftFCompiler
Could not locate executable f90
Could not locate executable f77
customize NAGFCompiler
customize VastFCompiler
customize CompaqFCompiler
Could not locate executable fort
customize IntelItaniumFCompiler
Could not locate executable efort
Could not locate executable efc
customize IntelEM64TFCompiler
customize GnuFCompiler
Could not locate executable g77
customize G95FCompiler
Could not locate executable g95
customize PathScaleFCompiler
Could not locate executable pathf95
customize NAGFORCompiler
Could not locate executable nagfor
don't know how to compile Fortran code on platform 'posix'
C compiler: gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC

compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/local/include/python3.7m -c'
gcc: _configtest.c
/bin/sh: gcc: not found
/bin/sh: gcc: not found
failure.
removing: _configtest.c _configtest.o
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-install-edp6jc_o/numpy/setup.py", line 394, in <module>
    setup_package()
  File "/tmp/pip-install-edp6jc_o/numpy/setup.py", line 386, in setup_package
    setup(**metadata)
  File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/core.py", line 169, in setup
    return old_setup(**new_attr)
  File "/usr/local/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/local/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 192, in run
    self.run_command('build')
  File "/usr/local/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build.py", line 47, in run
    old_build.run(self)
  File "/usr/local/lib/python3.7/distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/usr/local/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 148, in run
    self.build_sources()
  File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 159, in build_sources
    self.build_library_sources(*libname_info)
  File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 294, in build_library_sources
    sources = self.generate_sources(sources, (lib_name, build_info))
  File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 377, in generate_sources
    source = func(extension, build_dir)
  File "numpy/core/setup.py", line 675, in get_mathlib_info
    raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program
----------------------------------------
ERROR: Failed building wheel for numpy
Running setup.py clean for numpy
ERROR: Command errored out with exit status 1:
 command: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"'; __file__='"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' clean --all
     cwd: /tmp/pip-install-edp6jc_o/numpy
Complete output (10 lines):
Running from numpy source directory.

`setup.py clean` is not supported, use one of the following instead:

  - `git clean -xdf` (cleans all files)
  - `git clean -Xdf` (cleans all versioned files, doesn't touch
                      files that aren't checked into the git repo)

Add `--force` to your command to use it anyway if you must (unsupported).

----------------------------------------
ERROR: Failed cleaning build dir for numpy

Failed to build numpy
ERROR: hangups 0.4.9 has requirement protobuf<=3.6.1,>=3.1.0, but you'll have protobuf 3.11.3 which is incompatible.
ERROR: aiopylgtv 0.3.3 has requirement numpy>=1.17.0, but you'll have numpy 1.14.5 which is incompatible.
ERROR: aioesphomeapi 2.6.1 has requirement protobuf==3.6.1, but you'll have protobuf 3.11.3 which is incompatible.
Installing collected packages: wheel, setuptools, Cython, numpy, pybind11
Running setup.py install for numpy: started
Running setup.py install for numpy: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"'; file='"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-jgec4uq8/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-bzzwm1d2/overlay --compile
cwd: /tmp/pip-install-edp6jc_o/numpy/
Complete output (267 lines):
Running from numpy source directory.

  Note: if you need reliable uninstall behavior, then install
  with pip instead of using `setup.py install`:

    - `pip install .`       (from a git repo or downloaded source
                             release)
    - `pip install numpy`   (last NumPy release on PyPi)


  blas_opt_info:
  blas_mkl_info:
  customize UnixCCompiler
    libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  blis_info:
  customize UnixCCompiler
    libraries blis not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  openblas_info:
  customize UnixCCompiler
  customize UnixCCompiler
    libraries openblas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_3_10_blas_threads_info:
  Setting PTATLAS=ATLAS
  customize UnixCCompiler
    libraries tatlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_3_10_blas_info:
  customize UnixCCompiler
    libraries satlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_blas_threads_info:
  Setting PTATLAS=ATLAS
  customize UnixCCompiler
    libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_blas_info:
  customize UnixCCompiler
    libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  /tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
      Atlas (http://math-atlas.sourceforge.net/) libraries not found.
      Directories to search for the libraries can be specified in the
      numpy/distutils/site.cfg file (section [atlas]) or by setting
      the ATLAS environment variable.
    self.calc_info()
  blas_info:
  customize UnixCCompiler
    libraries blas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  /tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
      Blas (http://www.netlib.org/blas/) libraries not found.
      Directories to search for the libraries can be specified in the
      numpy/distutils/site.cfg file (section [blas]) or by setting
      the BLAS environment variable.
    self.calc_info()
  blas_src_info:
    NOT AVAILABLE

  /tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
      Blas (http://www.netlib.org/blas/) sources not found.
      Directories to search for the sources can be specified in the
      numpy/distutils/site.cfg file (section [blas_src]) or by setting
      the BLAS_SRC environment variable.
    self.calc_info()
    NOT AVAILABLE

  /bin/sh: svnversion: not found
  non-existing path in 'numpy/distutils': 'site.cfg'
  /bin/sh: svnversion: not found
  F2PY Version 2
  lapack_opt_info:
  lapack_mkl_info:
  customize UnixCCompiler
    libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  openblas_lapack_info:
  customize UnixCCompiler
  customize UnixCCompiler
    libraries openblas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  openblas_clapack_info:
  customize UnixCCompiler
  customize UnixCCompiler
    libraries openblas,lapack not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_3_10_threads_info:
  Setting PTATLAS=ATLAS
  customize UnixCCompiler
    libraries tatlas,tatlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries tatlas,tatlas not found in /usr/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
    NOT AVAILABLE

  atlas_3_10_info:
  customize UnixCCompiler
    libraries satlas,satlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries satlas,satlas not found in /usr/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_3_10_info'>
    NOT AVAILABLE

  atlas_threads_info:
  Setting PTATLAS=ATLAS
  customize UnixCCompiler
    libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries ptf77blas,ptcblas,atlas not found in /usr/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_threads_info'>
    NOT AVAILABLE

  atlas_info:
  customize UnixCCompiler
    libraries f77blas,cblas,atlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/local/lib
  customize UnixCCompiler
    libraries f77blas,cblas,atlas not found in /usr/lib
  customize UnixCCompiler
    libraries lapack_atlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_info'>
    NOT AVAILABLE

  lapack_info:
  customize UnixCCompiler
    libraries lapack not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  /tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
      Lapack (http://www.netlib.org/lapack/) libraries not found.
      Directories to search for the libraries can be specified in the
      numpy/distutils/site.cfg file (section [lapack]) or by setting
      the LAPACK environment variable.
    self.calc_info()
  lapack_src_info:
    NOT AVAILABLE

  /tmp/pip-install-edp6jc_o/numpy/numpy/distutils/system_info.py:624: UserWarning:
      Lapack (http://www.netlib.org/lapack/) sources not found.
      Directories to search for the sources can be specified in the
      numpy/distutils/site.cfg file (section [lapack_src]) or by setting
      the LAPACK_SRC environment variable.
    self.calc_info()
    NOT AVAILABLE

  /usr/local/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
    warnings.warn(msg)
  running install
  running build
  running config_cc
  unifing config_cc, config, build_clib, build_ext, build commands --compiler options
  running config_fc
  unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
  running build_src
  build_src
  building py_modules sources
  building library "npymath" sources
  get_default_fcompiler: matching types: '['gnu95', 'intel', 'lahey', 'pg', 'absoft', 'nag', 'vast', 'compaq', 'intele', 'intelem', 'gnu', 'g95', 'pathf95', 'nagfor']'
  customize Gnu95FCompiler
  Could not locate executable gfortran
  Could not locate executable f95
  customize IntelFCompiler
  Could not locate executable ifort
  Could not locate executable ifc
  customize LaheyFCompiler
  Could not locate executable lf95
  customize PGroupFCompiler
  Could not locate executable pgfortran
  customize AbsoftFCompiler
  Could not locate executable f90
  Could not locate executable f77
  customize NAGFCompiler
  customize VastFCompiler
  customize CompaqFCompiler
  Could not locate executable fort
  customize IntelItaniumFCompiler
  Could not locate executable efort
  Could not locate executable efc
  customize IntelEM64TFCompiler
  customize GnuFCompiler
  Could not locate executable g77
  customize G95FCompiler
  Could not locate executable g95
  customize PathScaleFCompiler
  Could not locate executable pathf95
  customize NAGFORCompiler
  Could not locate executable nagfor
  don't know how to compile Fortran code on platform 'posix'
  C compiler: gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC

  compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/local/include/python3.7m -c'
  gcc: _configtest.c
  /bin/sh: gcc: not found
  /bin/sh: gcc: not found
  failure.
  removing: _configtest.c _configtest.o
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-edp6jc_o/numpy/setup.py", line 394, in <module>
      setup_package()
    File "/tmp/pip-install-edp6jc_o/numpy/setup.py", line 386, in setup_package
      setup(**metadata)
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/core.py", line 169, in setup
      return old_setup(**new_attr)
    File "/usr/local/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "/usr/local/lib/python3.7/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/local/lib/python3.7/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/install.py", line 62, in run
      r = self.setuptools_run()
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/install.py", line 36, in setuptools_run
      return distutils_install.run(self)
    File "/usr/local/lib/python3.7/distutils/command/install.py", line 545, in run
      self.run_command('build')
    File "/usr/local/lib/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build.py", line 47, in run
      old_build.run(self)
    File "/usr/local/lib/python3.7/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/local/lib/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 148, in run
      self.build_sources()
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 159, in build_sources
      self.build_library_sources(*libname_info)
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 294, in build_library_sources
      sources = self.generate_sources(sources, (lib_name, build_info))
    File "/tmp/pip-install-edp6jc_o/numpy/numpy/distutils/command/build_src.py", line 377, in generate_sources
      source = func(extension, build_dir)
    File "numpy/core/setup.py", line 675, in get_mathlib_info
      raise RuntimeError("Broken toolchain: cannot link a simple C program")
  RuntimeError: Broken toolchain: cannot link a simple C program
  ----------------------------------------

ERROR: Command errored out with exit status 1: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"'; file='"'"'/tmp/pip-install-edp6jc_o/numpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-jgec4uq8/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-bzzwm1d2/overlay --compile Check the logs for full command output.
WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

ERROR: Command errored out with exit status 1: /usr/local/bin/python3 /usr/local/lib/python3.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-bzzwm1d2/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --find-links https://wheels.home-assistant.io/alpine-3.10/armv7/ -- wheel setuptools 'Cython>=0.29.13' 'numpy==1.13.3; python_version=='"'"'3.5'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.13.3; python_version=='"'"'3.6'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"' and platform_system!='"'"'AIX'"'"'' 'numpy==1.16.0; python_version=='"'"'3.5'"'"' and platform_system=='"'"'AIX'"'"'' 'numpy==1.16.0; python_version=='"'"'3.6'"'"' and platform_system=='"'"'AIX'"'"'' 'numpy==1.16.0; python_version=='"'"'3.7'"'"' and platform_system=='"'"'AIX'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"' and platform_system=='"'"'AIX'"'"'' 'pybind11>=2.4.0' Check the logs for full command output.
WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.`

Enhancement Request - add multiple emails

Is there anyway to be able to add multiple email addresses per delivery accounts?

I use different email addresses for diffrrrnt carriers, specifically Amazon.

Is there a way to set this up maybe even multiple times in HA so if we do use a different email we can still get sensors for all of the included services?

Thanks for all the work you put into this for us!

GIF rotation is very slow

I find that 10 seconds is very slow rotation speed, especially if you have few mail pieces come through. It could be nice to add and option to adjust this speed when setting up the integration.

Logo/Icon needed for integration

Now that 0.108.x supports integration logos/icons would these work for you until someone comes up with something better?

Logo -

m pLogo@2x

Icon -

icon

Notification trigger

I previously had an entity sensor.mail_deliveries_today that counted all mail vendors in transit and already delivered packages to trigger the notification. The current notification example only triggers based on USPS mail and packages.

What are your thoughts on bringing that back? Or maybe creating a notification sensor to count all the mail and package sensors numbers so there is only one sensor a user need to add to the automation?

ISSUE: Unable to prepare setup for platform mail_and_packages.sensor: Platform not found

Describe the bug
Manual install will not create sensors :(. No sensors are getting created for any of the carriers.

Environment (please complete the following information):

  • OS: Rasbpian
  • Type of device: RPI4
  • Home Assistant version: 106.6
  • Hassio/Docker/Core: Virtual
  • Python Version: 3.7.3

Logs
Mar 14 22:44:52 hass hass[790]: 2020-03-14 22:44:52 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform mail_and_packages.sensor: Platform not found (
Mar 14 22:44:52 hass hass[790]: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Mar 14 22:44:52 hass hass[790]: Importing the numpy c-extensions failed.
Mar 14 22:44:52 hass hass[790]: - Try uninstalling and reinstalling numpy.
Mar 14 22:44:52 hass hass[790]: - If you have already done that, then:
Mar 14 22:44:52 hass hass[790]: 1. Check that you expected to use Python3.7 from "/srv/homeassistant/bin/python3",
Mar 14 22:44:52 hass hass[790]: and that you have no directories in your PATH or PYTHONPATH that can
Mar 14 22:44:52 hass hass[790]: interfere with the Python and numpy version "1.18.1" you're trying to use.
Mar 14 22:44:52 hass hass[790]: 2. If (1) looks fine, you can open a new issue at
Mar 14 22:44:52 hass hass[790]: https://github.com/numpy/numpy/issues. Please include details on:
Mar 14 22:44:52 hass hass[790]: - how you installed Python
Mar 14 22:44:52 hass hass[790]: - how you installed numpy
Mar 14 22:44:52 hass hass[790]: - your operating system
Mar 14 22:44:52 hass hass[790]: - whether or not you have multiple versions of Python installed
Mar 14 22:44:52 hass hass[790]: - if you built from source, your compiler versions and ideally a build log
Mar 14 22:44:52 hass hass[790]: - If you're working with a numpy git repository, try git clean -xdf
Mar 14 22:44:52 hass hass[790]: (removes all files not under version control) and rebuild numpy.
Mar 14 22:44:52 hass hass[790]: Note: this error has many possible causes, so please don't comment on
Mar 14 22:44:52 hass hass[790]: an existing issue about this - open a new one instead.
Mar 14 22:44:52 hass hass[790]: Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory
Mar 14 22:44:52 hass hass[790]: ).

Screenshots
none

Additional context
Followed the readme to the 't' using the manual installation. Below is the component directory and permissions.

pi@hass:/home/homeassistant/.homeassistant/custom_components/mail_and_packages $ ls -lha
total 60K
drwxr-xr-x 3 root root 4.0K Mar 14 22:06 .
drwxr-xr-x 4 root root 4.0K Mar 14 12:20 ..
-rw-r--r-- 1 root root 4.3K Mar 3 21:34 config_flow.py
-rw-r--r-- 1 root root 1.2K Mar 3 21:34 const.py
-rw-r--r-- 1 root root 1.6K Mar 3 21:34 init.py
-rw-r--r-- 1 root root 274 Mar 3 21:34 manifest.json
-rw-r--r-- 1 root root 28K Mar 3 21:34 sensor.py
drwxr-xr-x 2 root root 4.0K Mar 3 21:34 .translations

Upgraded to 0.105.5 and all sensors are missing

Just upgraded last night and looked this morning and all sensors except for the camera and deliveries summary entities are missing.

Screenshot_20200219-070313

I looked in Developer Tools and typed mail_ in states but only the 2 were populated.

I'll reinstall and see if that fixes, but wanted to report just to have a record.

Slow start warnings

The component begins checking for email right away and appears to be causing a slowdown loading other components causing warnings.

Sensors Not updating (Yahoo email)

Trying to setup the Mail and Packages custom component via HACS.
So far everything looks good - but for some reason the sensors are not picking up anything (aka everything is 0). I have had this going for over a week, and received multiple packages from USPS and Fedex - and sensors never tick up from 0.

Today I have a package in route via Fedex and see the email for it. I updated to the BETA just to be sure and still not seeing anything.

Here is my setup (thanks to the beta branch):

image

Since I am not using the INBOX, but a custom Mail folder, do I need to put it in differently? The integration says it connects successfully, so I expect that means it can reach the account. Is there something I am missing?

I did check HA logs, and all it says is No mail found. So no errors there.
Here is my mailbox Mail showing the emails coming in:
image

Thanks!
DeadEnd

PS. Saw that Amazon is going to be added - but haven’t found where to turn on email notifications… only Alexa which I don’t use. Look forward to this addition once I get it working!!

HACS

Would be great if this was added to HACS to allow easy updates/installs.

Error generating image array

Fresh install of 105.3 in a new lxc, Ubuntu 19.10 using Mail and Packages 0.0.7 release.

Mail attachments appear in the www/mail_and_packages/ folder. Any advice?

2020-02-13 22:51:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for mail_and_packages which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2020-02-13 22:51:25 INFO (MainThread) [custom_components.mail_and_packages.sensor] version 0.0.6 is starting, if you have any issues please report them here: http://github.com/moralmunky/Home-Assistant-Mail-And-Packages
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find Informed Delivery mail
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Informed Delivery email found processing...
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Extracting image from email
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Extracting image from email
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Removing duplicate images.
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Removing USPS announcement images.
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Image Count: 2
2020-02-13 22:51:25 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Creating array of image files...
2020-02-13 22:51:25 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up mail_and_packages platform for sensor
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 159, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File "/usr/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
return fut.result()
File "/home/munkynetadmin/.homeassistant/custom_components/mail_and_packages/sensor.py", line 66, in async_setup_entry
async_add_entities([MailCheck(), USPS_Mail(hass, config),
File "/home/munkynetadmin/.homeassistant/custom_components/mail_and_packages/sensor.py", line 131, in init
self.update()
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/util/init.py", line 240, in wrapper
result = method(*args, **kwargs)
File "/home/munkynetadmin/.homeassistant/custom_components/mail_and_packages/sensor.py", line 165, in update
self._state = get_mails(account, self._img_out_path)
File "/home/munkynetadmin/.homeassistant/custom_components/mail_and_packages/sensor.py", line 917, in get_mails
all_images = [io.imread(image) for image in images]
File "/home/munkynetadmin/.homeassistant/custom_components/mail_and_packages/sensor.py", line 917, in
all_images = [io.imread(image) for image in images]
File "/srv/homeassistant/lib/python3.7/site-packages/imageio/core/functions.py", line 264, in imread
reader = read(uri, format, "i", **kwargs)
File "/srv/homeassistant/lib/python3.7/site-packages/imageio/core/functions.py", line 182, in get_reader
"Could not find a format to read the specified file " "in mode %r" % mode
ValueError: Could not find a format to read the specified file in mode 'i'

Can someone look at my error log

I think i did the installation correctly. But packages show 0 and my log shows this...

You are using a custom integration for mail_and_packages which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
Connection lost. Reconnecting…

Error while setting up platform mail_and_packages

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
return fut.result()
File "/usr/local/lib/python3.7/asyncio/coroutines.py", line 120, in coro
res = func(*args, **kw)
File "/config/custom_components/mail_and_packages/sensor.py", line 78, in async_setup_platform
async_add_entities([MailCheck(), USPS_Mail(hass, config),
File "/config/custom_components/mail_and_packages/sensor.py", line 154, in init
self.update()
File "/usr/src/homeassistant/homeassistant/util/init.py", line 240, in wrapper
result = method(*args, **kwargs)
File "/config/custom_components/mail_and_packages/sensor.py", line 185, in update
account = login(self._host, self._port, self._user, self._pwd)
File "/config/custom_components/mail_and_packages/sensor.py", line 798, in login
account = imaplib.IMAP4_SSL(host, port)
File "/usr/local/lib/python3.7/imaplib.py", line 1288, in init
IMAP4.init(self, host, port)
File "/usr/local/lib/python3.7/imaplib.py", line 198, in init
self.open(host, port)
File "/usr/local/lib/python3.7/imaplib.py", line 1301, in open
IMAP4.open(self, host, port)
File "/usr/local/lib/python3.7/imaplib.py", line 299, in open
self.sock = self._create_socket()
File "/usr/local/lib/python3.7/imaplib.py", line 1291, in _create_socket
sock = IMAP4._create_socket(self)
File "/usr/local/lib/python3.7/imaplib.py", line 289, in _create_socket
return socket.create_connection((host, self.port))
File "/usr/local/lib/python3.7/socket.py", line 727, in create_connection
raise err
File "/usr/local/lib/python3.7/socket.py", line 716, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

Mail hooked up but images not showing

I know the add-on is working because it says I am getting mail, but the images do not show up. I am using HassOS and installed imageMagick by following the advice here: https://community.home-assistant.io/t/imagemagick/68390/4

I also have an email from UPS saying a package is going to be delivered tomorrow, but the text on the card says I don't have any upcoming packages. Is that supposed to catch those emails as well?

I don't see anything in the logs, but I am assuming I don't have imagemagic installed or configured correctly. I assume I got the integration with outlook correct because the add-on knows I have mail.

Just don't know where to check for an error or check to see if everything is installed correctly.

Thanks for the help.

-1 Packages in transit

In Transit shows -1 after deliveries are completed due to a new UPS subject line.

The new, additional, UPS subject line for a package out for delivery that you can view the status on a live map, "UPS Update: Follow Your Delivery on a Live Map".

ISSUE: Mail Photos are Public

Describe the bug
The mail_today.gif is publicly accessible without Home Assistant login, which is a serious privacy issue.

Environment (please complete the following information):

  • OS: Debian 10
  • Type of device: x86
  • Home Assistant version: 0.106.6
  • Docker
  • Component version: 0.1.2

Additional context
When I open https://DOMAIN/local/mail_and_packages/mail_today.gif in a private window when I am not logged in, I can see all of my mail.

Mail gif assumes shape of first mail piece

The mail I received today started with a square image and all subsequent rectangular images filled canvas area cutting off the left and right side.

I had solved for this previously by resizing all the images proportionately within 700x315. I think this matched the no mail image. When assembling the gif the background was filled with white so you wouldn't see the outside parts of the pervious image if it was larger than the new image.

For reference:
IMG_RESIZE_OPTIONS = ('convert -resize 700x315 ') GIF_MAKER_OPTIONS = ('convert -delay 300 -loop 0 -coalesce -fill white ' '-dispose Background ')

Can't Get it to Work with GMail

I got to the integration portion after doing the install from HACS. I put in the Gmail POP server host name, username, pass but it could not connect to that pop.gmail.com. Does this not work with that? I been wanting this to work since most of the other solutions are so so.

Code Optimization

Proposed change

Reduce the entity count to minimal needed/required amounts

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (which adds functionality)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Reduce to 2 entities, one data entity and one sensor entity.

Not finding USPS Informed Delivery Email

The informed delivery email is in my inbox as of 7:00 this morning and the add on does not find it.

My logs:

2020-02-06 09:19:30 INFO (MainThread) [custom_components.mail_and_packages.sensor] version 0.0.5 is starting, if you have any issues please report them here: http://github.com/moralmunky/Home-Assistant-Mail-And-Packages
2020-02-06 09:19:30 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find Informed Delivery mail
2020-02-06 09:19:31 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Removing duplicate images.
2020-02-06 09:19:31 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Removing USPS announcement images.
2020-02-06 09:19:31 INFO (MainThread) [custom_components.mail_and_packages.sensor] No mail found.
2020-02-06 09:19:32 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Expected Delivery on
2020-02-06 09:19:32 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Item Delivered
2020-02-06 09:19:33 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Expected Delivery on
2020-02-06 09:19:34 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Item Delivered
2020-02-06 09:19:35 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject UPS Update: Package Scheduled for Delivery Today
2020-02-06 09:19:35 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your UPS Package was delivered
2020-02-06 09:19:36 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject UPS Update: Package Scheduled for Delivery Today
2020-02-06 09:19:37 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your UPS Package was delivered
2020-02-06 09:19:38 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Delivery scheduled for today
2020-02-06 09:19:38 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your package has been delivered
2020-02-06 09:19:39 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Delivery scheduled for today
2020-02-06 09:19:40 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your package has been delivered
2020-02-06 09:19:41 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Item Delivered
2020-02-06 09:19:41 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your UPS Package was delivered
2020-02-06 09:19:41 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your package has been delivered
2020-02-06 09:19:42 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Expected Delivery on
2020-02-06 09:19:42 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject UPS Update: Package Scheduled for Delivery Today
2020-02-06 09:19:42 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Delivery scheduled for today
2020-02-06 09:24:52 DEBUG (SyncWorker_16) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject UPS Update: Package Scheduled for Delivery Today
2020-02-06 09:24:53 DEBUG (SyncWorker_16) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your UPS Package was delivered
2020-02-06 09:24:54 DEBUG (SyncWorker_3) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject UPS Update: Package Scheduled for Delivery Today
2020-02-06 09:24:55 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Item Delivered
2020-02-06 09:24:56 DEBUG (SyncWorker_19) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Expected Delivery on
2020-02-06 09:24:56 DEBUG (SyncWorker_19) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject UPS Update: Package Scheduled for Delivery Today
2020-02-06 09:24:56 DEBUG (SyncWorker_19) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Delivery scheduled for today
2020-02-06 09:24:57 DEBUG (SyncWorker_1) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Delivery scheduled for today
2020-02-06 09:24:58 DEBUG (SyncWorker_17) [custom_components.mail_and_packages.sensor] Attempting to find mail from [email protected] with subject Your UPS Package was delivered
2020-02-06 09:24:59 DEBUG (SyncWorker_11) [custom_components.mail_and_packages.sensor] Attempting to find Informed Delivery mail
2020-02-06 09:24:59 DEBUG (SyncWorker_11) [custom_components.mail_and_packages.sensor] Removing duplicate images.
2020-02-06 09:24:59 DEBUG (SyncWorker_11) [custom_components.mail_and_packages.sensor] Removing USPS announcement images.

Email is from [email protected]
Subject: Informed Delivery Daily Digest

error after updating

So I got a little anxious last night and loaded this integration before the PR was merged to remove the image resizer, I got it working with an older release and everything was good. i NOTICED TODAY THE pr was merged so I updated via HACS and it seemed to have removed the sensors in my lovelace card.

I also noticed I was not getting any entities in the integrations page so I uninstalled, rebooted, reinstalled, rebooted and when I try to add the integration again I get an unknown error when i submit and this in the logs

2020-02-26 19:49:39 ERROR (MainThread) [aiohttp.server] Error handling request


Traceback (most recent call last):


  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start


    resp = await task


  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle


    resp = await handler(request)


  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl


    return await handler(request)


  File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware


    return await handler(request)


  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 72, in ban_middleware


    return await handler(request)


  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 135, in auth_middleware


    return await handler(request)


  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 123, in handle


    result = await result


  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 163, in post


    return await super().post(request, flow_id)


  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 50, in wrapper


    result = await method(view, request, *args, **kwargs)


  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 92, in post


    result = await self._flow_mgr.async_configure(flow_id, data)


  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 130, in async_configure


    result = await self._async_handle_step(flow, cur_step["step_id"], user_input)


  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 172, in _async_handle_step


    result: Dict = await getattr(flow, method)(user_input)


  File "/config/custom_components/mail_and_packages/config_flow.py", line 42, in async_step_user


    user_input[CONF_USERNAME], user_input[CONF_PASSWORD])


  File "/config/custom_components/mail_and_packages/config_flow.py", line 106, in _test_login


    account = imaplib.IMAP4_SSL(host, port)


  File "/usr/local/lib/python3.7/imaplib.py", line 1288, in __init__


    IMAP4.__init__(self, host, port)


  File "/usr/local/lib/python3.7/imaplib.py", line 198, in __init__


    self.open(host, port)


  File "/usr/local/lib/python3.7/imaplib.py", line 1301, in open


    IMAP4.open(self, host, port)


  File "/usr/local/lib/python3.7/imaplib.py", line 299, in open


    self.sock = self._create_socket()


  File "/usr/local/lib/python3.7/imaplib.py", line 1291, in _create_socket


    sock = IMAP4._create_socket(self)


  File "/usr/local/lib/python3.7/imaplib.py", line 289, in _create_socket


    return socket.create_connection((host, self.port))


  File "/usr/local/lib/python3.7/socket.py", line 707, in create_connection


    for res in getaddrinfo(host, port, 0, SOCK_STREAM):


  File "/usr/local/lib/python3.7/socket.py", line 752, in getaddrinfo


    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):


socket.gaierror: [Errno -2] Name does not resolve

ISSUE: UPS delivery confirmation includes two different tracked packages

Describe the bug
I wanted to document this before I forgot. I received day of in transit notifications separately for two tracked UPS packages, however, only one delivery notification was sent and the body included both UPS packages for that day.

Environment (please complete the following information):
NA
Logs
NA

Screenshots
Screen Shot 2020-03-18 at 12 40 25 PM

Additional context
Add any other context about the problem here.

Install Imagemagick

How would I go about installing the imagemagick on Proxmox container version of HASSIO? I tried from the HASSIO command line but very limited commands can be run once you login into it.

Install Imagemagick as a requirement

Feature request to add imagemagick as a dependency/requirement when using the custom component. Every time I update HASS (running in Docker) i need to build a custom image to include imagemagick which is annoying. I've found a fairly painless solution but it would be nice to not have to do (and it seems like one of the main issue folks have getting this to work).

Not picking up FedEx package as in transit

V0.07, installed via HACS using latest version of documentation
HomeAssistant version - 0.105.3

Got an email notification from FedEx from [email protected] with title:

FedEx Shipment 45280775XXXX: Your package is on its way
(Number redacted, but if you need it give me a way to DM you.)

But no state change on sensor.packages_in_transit or sensor.mail_fedex_packages.

Link to email (address/package number redacted): https://drive.google.com/file/d/1foXa0mYWvv71c2C_vMgr256dzyXCt3YG/view?usp=sharing

Expected behavior: Sensors would increase from 0 to 1 in at least packages in transit.

Error while setting up platform mail_and_packages

Receiving this following, HASS 0.103.5, Python 3.7.5.

Initial thought is that this is an error when no email results form the search.

Traceback (most recent call last): File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT) File "/usr/lib/python3.7/asyncio/tasks.py", line 442, in wait_for return fut.result() File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 66, in async_setup_entry async_add_entities([MailCheck(), USPS_Mail(hass, config), File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 137, in __init__ self.update() File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/util/__init__.py", line 240, in wrapper result = method(*args, **kwargs) File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 171, in update self._state = get_mails(account, self._img_out_path) File "/home/homeassistant/.homeassistant/custom_components/mail_and_packages/sensor.py", line 838, in get_mails messageIDsString = str(data[0], encoding='utf8') TypeError: decoding to str: need a bytes-like object, NoneType found

When I test with an email I received following error.

'int' object has no attribute 'decode'

Unable to Setup

I've been using an old version of this card from about 6 months ago which had been working decently fine all this time. With 0.107 the card no longer worked so I thought it would be good to move to the current HACS configuration.

I'm getting the error below.

Logger: homeassistant.setup
Source: setup.py:245
First occurred: 3:40:24 PM (1 occurrences)
Last logged: 3:40:24 PM

Unable to prepare setup for platform mail_and_packages.sensor: Platform not found ( IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! Importing the numpy c-extensions failed. - Try uninstalling and reinstalling numpy. - If you have already done that, then: 1. Check that you expected to use Python3.7 from "/srv/homeassistant/bin/python", and that you have no directories in your PATH or PYTHONPATH that can interfere with the Python and numpy version "1.18.2" you're trying to use. 2. If (1) looks fine, you can open a new issue at https://github.com/numpy/numpy/issues. Please include details on: - how you installed Python - how you installed numpy - your operating system - whether or not you have multiple versions of Python installed - if you built from source, your compiler versions and ideally a build log - If you're working with a numpy git repository, try git clean -xdf (removes all files not under version control) and rebuild numpy. Note: this error has many possible causes, so please don't comment on an existing issue about this - open a new one instead. Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory ).

Logger: homeassistant.components.local_file.camera
Source: components/local_file/camera.py:44
Integration: local_file (documentation, issues)
First occurred: 3:40:22 PM (1 occurrences)
Last logged: 3:40:22 PM

Could not read camera mail_usps image from file: /config/www/mail_and_packages/mail_today.gif

Also I notice the documentation no longer has the old lovelace card that looked like an envelope. Is that no longer available?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.