Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
4d97194
make SQlite reader/writer use the new BaseIOHandler
felixdivo Jul 3, 2018
906cfb1
added BaseIOHandler in BLF reder/Writer
felixdivo Jul 3, 2018
d68c430
sqlite fix
felixdivo Jul 3, 2018
b10080e
fix file opening in BLF handlers
felixdivo Jul 3, 2018
0fcbf07
rome "text mode" parameter form file open calls
felixdivo Jul 3, 2018
6d97d20
fix bad test cases
felixdivo Jul 3, 2018
9e88d10
only writer header if not appending
felixdivo Jul 3, 2018
a9a961c
address code review by @christiansandberg
felixdivo Jul 3, 2018
def5a04
add docs
felixdivo Jul 3, 2018
0490712
allow BaseIOHandler to use path-like objectas and file-like objects
felixdivo Jul 4, 2018
e2cf45a
add tests for context manger in readers & writers
felixdivo Jul 4, 2018
fc57078
fix TOC level of the "About the BusABC class" section
felixdivo Jul 4, 2018
fd624bf
fix error in test case
felixdivo Jul 4, 2018
aefefcd
fix alignment of message timestamp printing
felixdivo Jul 4, 2018
6274245
add __ne__ method for message object
felixdivo Jul 4, 2018
31aab59
add docs and privatize attrs in Sqlite handlers
felixdivo Jul 5, 2018
7234a76
add missing handlers to docs
felixdivo Jul 5, 2018
9ac38fe
change param from filename ot file and comments
felixdivo Jul 5, 2018
86244c4
rename loger.py to printer.py
felixdivo Jul 5, 2018
d857366
fix import
felixdivo Jul 5, 2018
36b6eda
update docstrings for file parameter
felixdivo Jul 5, 2018
d1ffbaf
better docs
felixdivo Jul 5, 2018
86c1070
fix imports
felixdivo Jul 5, 2018
65ffce9
fix imports
felixdivo Jul 5, 2018
dd7c0d3
remove choose_socketcan_implementation()
felixdivo Jul 5, 2018
2776c47
Enable support for non default config section (#338)
pierreluctg Jul 5, 2018
6d0f4a6
Merge pull request #347 from hardbyte/fix-sphinx-errors
felixdivo Jul 5, 2018
5abea26
add possibility for testing appending of writers
felixdivo Jul 6, 2018
32f01c8
enable append testing
felixdivo Jul 6, 2018
c9ea0b3
fix append mode test for Sqlite
felixdivo Jul 6, 2018
b3ff334
add test for can.Printer
felixdivo Jul 6, 2018
eb501be
slightly simpler test case
felixdivo Jul 6, 2018
e5df130
fix sqlite parser
felixdivo Jul 6, 2018
b769137
add sleepingto append mode testing
felixdivo Jul 6, 2018
b51b719
fix test method call
felixdivo Jul 6, 2018
54aa145
enuse data is written to disk
felixdivo Jul 6, 2018
732fbb6
restructured logformats_test
felixdivo Jul 6, 2018
3b34dcd
exclude base class from tests
felixdivo Jul 6, 2018
aa59dc0
try to fix ReaderWriterTest
felixdivo Jul 6, 2018
3096feb
pass along params to superclass in test case
felixdivo Jul 6, 2018
65b2725
fix wrong param in init call
felixdivo Jul 6, 2018
994497b
attempt to fix test case invocation
felixdivo Jul 6, 2018
7337055
attempt different approach at ReaderWriterTest
felixdivo Jul 6, 2018
b937ab4
add magic "__test__ " attribute
felixdivo Jul 6, 2018
4401216
Only expose SocketCAN classes directly on Linux
christiansandberg Jul 9, 2018
f7d79f3
Raise meaningful exception for Vector when a channel is not available…
christiansandberg Jul 11, 2018
7c3ff8a
Update CHANGELOG and bump version to 2.3.0-dev
christiansandberg Jul 13, 2018
5d6859b
Add 2.2.0 to CHANGELOG
christiansandberg Jul 13, 2018
48bcadd
addresses Travis CI problem mentioned in #273
felixdivo Jul 16, 2018
4652bca
Fixed typo in development.rst
kasperkarlsson Jul 16, 2018
d191297
typo in usb2canInterface.py
netanelf Jul 16, 2018
595fa65
Implement _detect_available_configs for Vector
christiansandberg Jul 12, 2018
2b7eb23
NI-CAN: Add reset method and remove flush_tx_buffer method (#364)
christiansandberg Jul 17, 2018
1ed5d6f
Include test log files in distribution
christiansandberg Jul 17, 2018
4e66d6d
Implement receive_own_messages to IXXAT
christiansandberg Jul 13, 2018
dc5712a
Added support for PCAN on Mac
Lauszus Jul 18, 2018
e91b0b3
change constructor for ReaderWriterTest
felixdivo Jul 18, 2018
abab40a
Use 'PCAN_USBBUS1' as the default channel
Lauszus Jul 18, 2018
35c4676
fix Sqlite test
felixdivo Jul 18, 2018
f2c3ee2
Sqlite test fixes
felixdivo Jul 18, 2018
036b6f1
Updated PCAN documentation
Lauszus Jul 18, 2018
7f1f1d3
use contextlib.nullcontext from Python 3.7 on
felixdivo Jul 18, 2018
c445859
doc fixes
felixdivo Jul 18, 2018
676724e
add can.Bus and can.ABCBus to developer soc section; gone from 55 sph…
felixdivo Jul 18, 2018
ce4c394
Set the default parameters in __init__
Lauszus Jul 18, 2018
64f050a
slightly better docs for slcan
felixdivo Jul 18, 2018
654a0fb
attempt at fixxing some more sphinx warnings
felixdivo Jul 18, 2018
41b6ba3
cleanup IXXAT
felixdivo Jul 18, 2018
566ddd8
fix sphinx warnings
felixdivo Jul 18, 2018
9162562
tiny changes
felixdivo Jul 18, 2018
f57f8a9
sphinx fixes
felixdivo Jul 18, 2018
2938db7
sphinx fixes
felixdivo Jul 18, 2018
02f86e4
fix skipping of tests
felixdivo Jul 18, 2018
1e1d9c8
Added information on how to use the PCAN kernel drivers
Lauszus Jul 18, 2018
e95c4a8
fix typos
felixdivo Jul 19, 2018
baf2416
remove redundant Sqlite test
felixdivo Jul 19, 2018
b73f70d
add doc on the bus classes
felixdivo Jul 19, 2018
9c843d3
Merge branch 'develop' into fix-file-io
felixdivo Jul 19, 2018
50b20a8
Syntax highlighting for the example code in README.rst
felixdivo Jul 19, 2018
1c04905
Merge pull request #367 from hardbyte/misc-cleanups
felixdivo Jul 19, 2018
dcf531f
Merge branch 'develop' into felixdivo-readme-syntax-highlighting
felixdivo Jul 19, 2018
76494ba
Merge pull request #368 from hardbyte/felixdivo-readme-syntax-highlig…
felixdivo Jul 20, 2018
1bc7484
Merge branch 'develop' into fix-file-io
felixdivo Jul 20, 2018
a1ed6bb
improved logformats_test and added test_file_like_explicit_stop
felixdivo Jul 20, 2018
4afbd0c
add test_file_like_context_manager
felixdivo Jul 20, 2018
9c19bcd
added support for testing binary readers/writers + added docs on file…
felixdivo Jul 20, 2018
4c835cd
added *args and **kwargs forwaring to LogReader and Logger
felixdivo Jul 20, 2018
c4fde3b
add some documentation to Sqlite
felixdivo Jul 20, 2018
ff9d821
fix bug in test call
felixdivo Jul 20, 2018
75ff215
add more xtensive logging in test (in assertMessagesEqual)
felixdivo Jul 20, 2018
0a7ab37
less verbose logging
felixdivo Jul 20, 2018
f2fff00
added simple _ensure_fsync method to logformats_test
felixdivo Jul 20, 2018
c86fed3
removed unused imports
felixdivo Jul 20, 2018
796fb8d
use more lightwight SimpleQueue in BufferedReader
felixdivo Jul 20, 2018
1975d52
add a stop() method to BufferedReader
felixdivo Jul 20, 2018
bd06089
various SqliteWriter improvements
felixdivo Jul 20, 2018
ea73445
corrected import for queues in listener.py
felixdivo Jul 20, 2018
9e38a95
bugfix in BufferedReader
felixdivo Jul 20, 2018
a3001dc
added cleanups for listener tests
felixdivo Jul 20, 2018
f11e165
added superclasses for Logger and LogReader
felixdivo Jul 20, 2018
3c87b3e
doc improvements
felixdivo Jul 20, 2018
f53aa0a
updated history
felixdivo Jul 20, 2018
a62c917
fix for listener test
felixdivo Jul 20, 2018
118a455
add tests for SqliteReader.read_all()
felixdivo Jul 20, 2018
fe638e5
fix SqliteReader.read_all() and fix usage of memoryview
felixdivo Jul 20, 2018
5a75ef7
fix test_read_all
felixdivo Jul 20, 2018
87ddb61
logging adjustments
felixdivo Jul 20, 2018
ddb9399
Merge branch 'develop' into pcan_mac
felixdivo Jul 22, 2018
66ce4aa
add initial draft
felixdivo Jul 22, 2018
9e56f33
Merge branch 'develop' into pcan_mac
hardbyte Jul 24, 2018
eb9640f
Allow the backend to use the default channel if it is not given
Lauszus Jul 24, 2018
5a4868e
Moved the PCAN linux socketcan installation into the socketcan docume…
Lauszus Jul 24, 2018
958f57c
Added comment on why the ID was changed from u_uint to c_ulong
Lauszus Jul 24, 2018
b578688
Made virtual_can_demo.py thread safe
felixdivo Jul 28, 2018
0866657
fix typo
felixdivo Jul 28, 2018
74b59cf
fix logger_test.py
felixdivo Jul 29, 2018
d44f8f7
Set the timestamp millis to be ulong as well
Lauszus Jul 29, 2018
435ac1b
Fixed calculation of the PCAN timestamp, as the millis_overflow value…
Lauszus Jul 29, 2018
570ddbb
Make sure spaces are used for indentation and remove whitespaces
Lauszus Jul 29, 2018
d9d3fa5
New location for scripts (#370)
felixdivo Jul 30, 2018
209d463
Merge branch 'develop' into pcan_mac
hardbyte Jul 30, 2018
31734d0
use RuntimeError on read attempt on a stopped BufferedReader
felixdivo Jul 30, 2018
d04806d
address review
felixdivo Jul 30, 2018
338449f
Merge branch 'develop' into fix-file-io
felixdivo Jul 30, 2018
bf91364
add writable tempdir to appveyor tests
felixdivo Jul 30, 2018
4ef03b4
Merge branch 'develop' into felixdivo-virtual-can-demo
felixdivo Jul 30, 2018
5449ac4
use memoryview = buffer in Sqlite in Python 2
felixdivo Jul 30, 2018
cf5aa84
Merge pull request #373 from hardbyte/felixdivo-virtual-can-demo
felixdivo Jul 30, 2018
517ca2a
Merge branch 'develop' into fix-file-io
felixdivo Jul 30, 2018
4d89808
Add a .codecov.yml (#374)
felixdivo Jul 30, 2018
b3cb70c
Merge branch 'develop' into pcan_mac
hardbyte Jul 30, 2018
3beb5b5
fix Message's __eq__() and __ne__()
felixdivo Jul 31, 2018
201bf22
fix a bug in Python 3.7
felixdivo Jul 31, 2018
39eaa66
new attempt at making the TEMPDIR writable on AppVeyor
felixdivo Jul 31, 2018
53c7ec9
create test folder in AppVeyor
felixdivo Jul 31, 2018
3bf5a6a
also give permissions to future temp files & clean up afterwards
felixdivo Jul 31, 2018
767838b
fix #379
felixdivo Jul 31, 2018
2c81ec6
Merge branch 'develop' into fix-file-io
felixdivo Jul 31, 2018
34a640b
fix wrong timestamps problem in tests
felixdivo Aug 1, 2018
fa771a8
Merge branch 'fix-file-io' of github.com:hardbyte/python-can into fix…
felixdivo Aug 1, 2018
d1b0503
fix apparent permissions problem on windows
felixdivo Aug 1, 2018
7be909d
add removal of temporyry file in listener_test.py
felixdivo Aug 1, 2018
23a9d9a
removed debugging code from .appveyor.yml
felixdivo Aug 1, 2018
a839a0a
only delete some temp files
felixdivo Aug 1, 2018
e81fcc9
Add Python 3.7 testing on AppVeyor & Fix Travis CI (#380)
felixdivo Aug 6, 2018
a161684
Merge branch 'develop' into fix-file-io
felixdivo Aug 6, 2018
c0b8700
Merge branch 'develop' into pcan_mac
felixdivo Aug 6, 2018
b749572
Merge pull request #348 from hardbyte/fix-file-io
felixdivo Aug 6, 2018
2920ff5
SocketCAN: Enable error frames (#384)
christiansandberg Aug 6, 2018
bc2dd43
IsOpen should not be use to check if bus is open (#381)
pierreluctg Aug 6, 2018
95c5c1a
Removed TextIOWrapper from serial. (#383)
gustavovelascoh Aug 7, 2018
6118964
Merge branch 'develop' into pcan_mac
Lauszus Aug 9, 2018
7b3bb42
Merge pull request #365 from Lauszus/pcan_mac
felixdivo Aug 9, 2018
090f380
Fix entry points for 3rd party interfaces (#389)
christiansandberg Aug 11, 2018
79d6970
Merge the CAN viewer terminal application into python-can
Lauszus Aug 11, 2018
7a8ca77
Print shortcuts in the usage page, sleep for 0.1 ms in the main loop,…
Lauszus Aug 12, 2018
65ee6be
Just erase the screen instead of clearing it and reformatted the argu…
Lauszus Aug 12, 2018
2e42612
Forgot to patch curses.use_default_colors() and the stdscr.erase() me…
Lauszus Aug 12, 2018
7acf9fd
Select vector hardware by serial number (#387)
AntonioCohimbra Aug 13, 2018
33ffd6c
Color error frames red, set timeout in a better way so frames are nev…
Lauszus Aug 17, 2018
08249da
Added my contributions to history.rst
Lauszus Aug 17, 2018
315ebb2
Merge branch 'develop' into viewer
Lauszus Aug 17, 2018
4e67cab
fix #394
felixdivo Aug 24, 2018
0ecc555
fix stupid bug
felixdivo Aug 24, 2018
80ca49f
Merge pull request #397 from hardbyte/fix-issue-394
felixdivo Aug 24, 2018
6de1b8a
serial: switch to serial_for_url instead of Serial
yegorich Aug 22, 2018
05261fc
Merge branch 'develop' into url_to_serial
felixdivo Aug 27, 2018
c034773
Merge pull request #393 from yegorich/url_to_serial
felixdivo Aug 27, 2018
09d2056
Merge branch 'develop' into viewer
felixdivo Aug 29, 2018
c8f6b4c
Resolve pylint issues (#403)
yegorich Aug 31, 2018
1296a1d
Add hardware handshake support for serial port based CAN interfaces
yegorich Aug 31, 2018
da8519b
Merge branch 'develop' into serial-hc
felixdivo Sep 3, 2018
0b2f31d
Merge pull request #402 from yegorich/serial-hc
felixdivo Sep 4, 2018
6020d5f
add test for scripts
felixdivo Sep 4, 2018
d998c4f
better tests for scripts
felixdivo Sep 4, 2018
c677643
scripts: print help message when no arguments were given; set returnc…
felixdivo Sep 4, 2018
132b8a2
fix calling of tests
felixdivo Sep 4, 2018
924e5ed
move scripts back to the old location in python-can/can/*
felixdivo Sep 5, 2018
07826b1
Leave a note on the OSX support in .travis.yml
felixdivo Sep 5, 2018
0aa37c3
cleanup changes
felixdivo Sep 5, 2018
c55f2a9
Merge branch 'develop' into fix_scripts
felixdivo Sep 5, 2018
c83ee71
Add asyncio support (#388)
christiansandberg Sep 5, 2018
03834de
fix AppVeyor
felixdivo Sep 6, 2018
ad703da
fix test cases
felixdivo Sep 6, 2018
1a5437c
fix
felixdivo Sep 6, 2018
735b180
fix
felixdivo Sep 6, 2018
134feaf
fix some deprecation warnings
felixdivo Sep 6, 2018
7155dc4
use deprecated method since the newer one is not available on Python 2.7
felixdivo Sep 6, 2018
23d9955
Merge branch 'develop' into fix_scripts
felixdivo Sep 6, 2018
7cffe9a
Allow user to choose channel using ICS network names.
pierreluctg Sep 6, 2018
7265fc7
Merge pull request #407 from pierreluctg/ics-netid
felixdivo Sep 6, 2018
07ae1ff
Merge branch 'develop' into fix_scripts
felixdivo Sep 6, 2018
029564b
Merge pull request #406 from hardbyte/fix_scripts
felixdivo Sep 6, 2018
59d001e
Message dlc alignment in string representation
pierreluctg Sep 7, 2018
a02d764
Adding ICS CAN FD support
pierreluctg Sep 6, 2018
15feb31
Merge branch 'develop' into ics-can-fd
pierreluctg Sep 7, 2018
a81071f
Merge pull request #411 from pierreluctg/patch-1
christiansandberg Sep 7, 2018
a8e74fe
Merge branch 'develop' into viewer
Lauszus Sep 9, 2018
9b397d1
Put the viewer script back into the CAN module
Lauszus Sep 9, 2018
2e5de36
Print help message when no arguments are given
Lauszus Sep 9, 2018
5981fcd
Removed all CANopen code
Lauszus Sep 9, 2018
2ff8c5c
Fixed Python 2 compatibility
Lauszus Sep 9, 2018
687c925
Removed CANopen from the documentation and take new screenshot showin…
Lauszus Sep 9, 2018
63d6d56
Removed unused import
Lauszus Sep 9, 2018
f839e2f
Merge branch 'develop' into ics-can-fd
pierreluctg Sep 13, 2018
1cfe88b
Rename FD argument to be consistent with other interfaces
pierreluctg Sep 13, 2018
6de7314
Merge pull request #408 from pierreluctg/ics-can-fd
felixdivo Sep 13, 2018
ca8e05a
Merge branch 'develop' into viewer
felixdivo Sep 13, 2018
3f8e239
Adding multiple channels support to neoVI
pierreluctg Sep 13, 2018
5a9e6eb
Merge pull request #390 from Lauszus/viewer
felixdivo Sep 17, 2018
4ffa9b9
Remove left over test code
pierreluctg Sep 17, 2018
f5b056b
Fix for numbered windows config file list
pierreluctg Sep 18, 2018
04e71a6
Fix permissions and shebangs in examples
cottsay Sep 20, 2018
0859351
Merge pull request #420 from cottsay/example_shebangs
felixdivo Sep 20, 2018
c122823
Merge branch 'develop' into patch-1
felixdivo Sep 20, 2018
d88dc0c
Merge pull request #417 from pierreluctg/patch-1
felixdivo Sep 20, 2018
c7dd830
Use uniform line endings across repository (#419)
cottsay Sep 21, 2018
822a7ff
Default to sending in self.channels[0] only if there is only one channel
pierreluctg Sep 21, 2018
4ab7f99
docstring fix
pierreluctg Sep 21, 2018
f9ddd86
Merge branch 'develop' into neovi-multi-channels
pierreluctg Sep 21, 2018
d3ee3ef
Add stop_all_periodic_tasks to bus api
hardbyte Sep 8, 2018
4e9e27b
Associate a single BCM socket per channel with a socketcan bus.
hardbyte Sep 8, 2018
83c6089
Wrap the tasks stop method to remove from the bus's task_list.
hardbyte Sep 10, 2018
a57156b
Add note to codecov config
hardbyte Sep 17, 2018
ac20840
Add an opt out to storing tasks on the bus
hardbyte Sep 17, 2018
33798b0
Minor update to bcm docs
hardbyte Sep 17, 2018
4660091
Add a test that calls both methods of stopping periodic tasks
hardbyte Sep 21, 2018
cba01c7
Optionally remove all tasks from the bus when stopping them
hardbyte Sep 22, 2018
24c50df
Merge pull request #415 from pierreluctg/neovi-multi-channels
felixdivo Sep 23, 2018
d91da63
Merge branch 'develop' into feature-socketcan-bcm-owned-by-bus
felixdivo Sep 23, 2018
8d92a05
Merge pull request #412 from hardbyte/feature-socketcan-bcm-owned-by-bus
felixdivo Sep 23, 2018
cdecd3a
Add changelog for v2.3.0 (#423)
hardbyte Sep 24, 2018
44ccc7e
Backends now use a separate method to implement periodic sending.
hardbyte Sep 24, 2018
5763d2e
Storing tasks twice is bad... especially when trying to stop them
hardbyte Sep 24, 2018
926733d
Make sure the viewer scripts exits with the correct error code when d…
Lauszus Sep 25, 2018
56a4cb2
Remove shebangs from files in the module (#429)
cottsay Sep 27, 2018
57fa6b9
Extract the command line output automatically from scripts
hardbyte Sep 24, 2018
bfb20dc
Minor doc tweaks
hardbyte Sep 24, 2018
c660779
travis needs to install doc deps before calling sphinx
hardbyte Sep 24, 2018
ce5ac4b
Extract viewer command line help
hardbyte Sep 25, 2018
daa4cf4
Merge branch 'develop' into fix-425
hardbyte Sep 27, 2018
832eee6
Merge pull request #426 from hardbyte/fix-425
felixdivo Sep 27, 2018
e19045f
Merge branch 'develop' into feature-extract-cli-help
felixdivo Sep 27, 2018
db1fc25
Merge pull request #428 from hardbyte/feature-extract-cli-help
felixdivo Sep 27, 2018
1110ac3
Remove spaces from setup.py version specifiers (#432)
hardbyte Sep 28, 2018
c37420d
Change can.Message (#413)
felixdivo Sep 28, 2018
6a6c641
Feature update deprecation notes (#437)
hardbyte Sep 30, 2018
e23dfc5
Merge branch 'master' into develop
hardbyte Sep 30, 2018
92ae4f3
Chore - Merge master back into develop
hardbyte Sep 30, 2018
44d27df
Start migration of Message init to use is_extended_id (#440)
hardbyte Sep 30, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,31 @@ environment:

# For Python versions available on Appveyor, see
# http://www.appveyor.com/docs/installed-software#python
# Python 3.0-3.3 have reached EOL

- PYTHON: "C:\\Python27"
- PYTHON: "C:\\Python34"
- PYTHON: "C:\\Python35"
- PYTHON: "C:\\Python36"
- PYTHON: "C:\\Python37"
- PYTHON: "C:\\Python27-x64"
- PYTHON: "C:\\Python34-x64"
- PYTHON: "C:\\Python35-x64"
- PYTHON: "C:\\Python36-x64"

# Python 3.3 has reached EOL
- PYTHON: "C:\\Python37-x64"

install:
# Prepend Python installation to PATH
- set PATH=%PYTHON_INSTALL%;%PATH%

# Prepend Python scripts to PATH (e.g. py.test)
- set PATH=%PYTHON_INSTALL%\\Scripts;%PATH%
# Prepend Python installation and scripts (e.g. pytest) to PATH
- set PATH=%PYTHON_INSTALL%;%PYTHON_INSTALL%\\Scripts;%PATH%

# We need to install the python-can library itself
- "python -m pip install .[test]"
# We need to install the python-can library itself including the dependencies
- "python -m pip install .[test,neovi]"

build: off

test_script:
- "pytest -v --timeout=300"
# run tests
- "pytest"

# uplad coverage reports
- "codecov"
21 changes: 21 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Validate with curl --data-binary @.codecov.yml https://codecov.io/validate
codecov:
archive:
uploads: no

coverage:
precision: 2
round: down
range: 50...100
status:
project:
default:
# coverage may fall by <1.0% and still be considered "passing"
threshold: 1.0%
patch:
default:
# coverage may fall by <1.0% and still be considered "passing"
threshold: 1.0%

comment:
layout: "header, diff, changes"
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# https://github.com/github/gitignore/blob/da00310ccba9de9a988cc973ef5238ad2c1460e9/Python.gitignore
test/__tempdir__/
.pytest_cache/

# -------------------------
# below: https://github.com/github/gitignore/blob/da00310ccba9de9a988cc973ef5238ad2c1460e9/Python.gitignore

# Byte-compiled / optimized / DLL files
__pycache__/
Expand All @@ -11,6 +15,7 @@ __pycache__/
# Distribution / packaging
.Python
env/
venv/
build/
develop-eggs/
dist/
Expand Down
28 changes: 17 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,62 @@
language: python

python:
# CPython:
# CPython; versions 3.0-3.3 have reached EOL
- "2.7"
# Python 3.3 has reached EOL and pytest fails there
- "3.4"
- "3.5"
- "3.6"
- "3.7-dev" # TODO: change to "3.7" once it is supported by travis-ci
- "nightly"
# PyPy:
- "pypy"
- "pypy3.5"
- "pypy" # Python 2.7
- "pypy3.5" # Python 3.5

os:
- linux # Linux is officially supported and we test the library under
# many different Python verions (see "python: ..." above)

# - osx # OSX + Python is not officially supported by Travis CI as of Feb. 2018
# nevertheless, "nightly" and some "*-dev" versions seem to work, so we
# include them explicitly below (see "matrix: include: ..." below)
# include them explicitly below (see "matrix: include: ..." below).
# They only seem to work with the xcode8.3 image, and not the newer ones.
# Thus we will leave this in, until it breaks one day, at which point we
# will probably reomve testing on OSX if it is not supported then.
# See #385 on Github.

# - windows # Windows is not supported at all by Travis CI as of Feb. 2018

# Linux setup
dist: trusty
sudo: false
sudo: required

matrix:
# see "os: ..." above
include:
- os: osx
osx_image: xcode8.3
python: "3.6-dev"
- os: osx
osx_image: xcode8.3
python: "3.7-dev"
- os: osx
osx_image: xcode8.3
python: "nightly"

allow_failures:
# allow all nighly builds to fail, since these python versions might be unstable
- python: "nightly"

# we do not allow dev builds to fail, since these builds are considered stable enough

install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo bash test/open_vcan.sh ; fi
- if [[ "$TRAVIS_PYTHON_VERSION" == "3.6" ]]; then travis_retry pip install -r doc/doc-requirements.txt; fi
- travis_retry pip install .[test]
- travis_retry pip install sphinx

script:
- pytest -v --timeout=300
- pytest
- codecov
# Build Docs with Sphinx
#
# -a Write all files
- if [[ "$TRAVIS_PYTHON_VERSION" == "3.6" ]]; then python -m sphinx -an doc build; fi
# -n nitpicky
- if [[ "$TRAVIS_PYTHON_VERSION" == "3.6" ]]; then python -m sphinx -an doc build; fi
109 changes: 107 additions & 2 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,108 @@
Version 3.0.0
====

Major features
--------------

* Adds support for developing `asyncio` applications with `python-can` more easily. This can be useful
when implementing protocols that handles simultaneous connections to many nodes since you can write
synchronous looking code without handling multiple threads and locking mechanisms. #388
* New can viewer terminal application. #390
* More formally adds task management responsibility to the `Bus`. By default tasks created with
`bus.send_periodic` will have a reference held by the bus - this means in many cases the user
doesn't need to keep the task in scope for their periodic messages to continue being sent. If
this behavior isn't desired pass `store_task=False` to the `send_periodic` method. Stop all tasks
by calling the bus's new `stop_all_periodic_tasks` method. #412


Breaking changes
----------------

- Interfaces should no longer override `send_periodic` and instead implement
`_send_periodic_internal` #426
- writing to closed writers is not supported any more (it was supported only for some)
- the method `Listener.on_message_received()` is now abstract (using `@abc.abstractmethod`)
- the file in the reader/writer is now always stored in the attribute uniformly called `file`, and not in
something like `fp`, `log_file` or `output_file`. Changed the name of the first parameter of the
read/writer constructors from `filename` to `file`.


Other notable changes
---------------------

* can.Message class updated #413
- Addition of a Message.equals method.
- Deprecate id_type in favor of is_extended_id
- documentation, testing and example updates
- Addition of support for various builtins: __repr__, __slots__, __copy__
* IO module updates to bring consistency to the different CAN message writers and readers. #348
- context manager support for all readers and writers
- they share a common super class called `BaseIOHandler`
- all file handles can now be closed with the `stop()` method
- the table name in `SqliteReader`/`SqliteWriter` can be adjusted
- append mode added in `CSVWriter` and `CanutilsLogWriter`
- [file-like](https://docs.python.org/3/glossary.html#term-file-like-object) and
[path-like](https://docs.python.org/3/glossary.html#term-path-like-object) objects can now be passed to
the readers and writers (except to the Sqlite handlers)
- add a `__ne__()` method to the `Message` class (this was required by the tests)
- added a `stop()` method for `BufferedReader`
- `SqliteWriter`: this now guarantees that all messages are being written, exposes some previously internal metrics
and only buffers messages up to a certain limit before writing/committing to the database.
- the unused `header_line` attribute from `CSVReader` has been removed
- privatized some attributes that are only to be used internally in the classes
* Start testing against Python 3.7 #380
* All scripts have been moved into `can/scripts`. #370, #406
* Added support for additional sections to the config #338
* Code coverage reports added. #346, #374
* Bug fix to thread safe bus. #397

General fixes, cleanup and docs changes: (#347, #348, #367, #368, #370, #371, #373, #420, #417, #419)

Backend Specific Changes
------------------------

3rd party interfaces
~~~~~~~~~~~~~~~~~~~~

* Deprecated `python_can.interface` entry point instead use `can.interface`. #389

neovi
~~~~~

* Added support for CAN-FD #408
* Fix issues checking if bus is open. #381
* Adding multiple channels support. #415

nican
~~~~~

* implements reset instead of custom `flush_tx_buffer`. #364

pcan
~~~~

* now supported on OSX. #365


serial
~~~~~~

* Removed TextIOWrapper from serial. #383
* switch to `serial_for_url` enabling using remote ports via `loop://`, ``socket://` and `rfc2217://` URLs. #393
* hardware handshake using `rtscts` kwarg #402

socketcan
~~~~~~~~~

* socketcan tasks now reuse a bcm socket
* socketcan bugfix to receive error frames #384

vector
~~~~~~

* Vector interface now implements `_detect_available_configs`. #362
* Added support to select device by serial number. #387

Version 2.2.1 (2018-07-12)
=====

Expand All @@ -14,7 +119,7 @@ Version 2.2.0 (2018-06-30)
* Added synchronized (thread-safe) Bus variant.
* context manager support for the Bus class.
* Dropped support for Python 3.3 (officially reached end-of-life in Sept. 2017)
* Deprecated the old `CAN` module, please use the newer `can` entry point (will be removed in version 2.4)
* Deprecated the old `CAN` module, please use the newer `can` entry point (will be removed in an upcoming major version)

Version 2.1.0 (2018-02-17)
=====
Expand All @@ -34,7 +139,7 @@ Version 2.0.0 (2018-01-05

After an extended baking period we have finally tagged version 2.0.0!

Quite a few major Changes from v1.x:
Quite a few major changes from v1.x:

* New interfaces:
* Vector
Expand Down
47 changes: 24 additions & 23 deletions CONTRIBUTORS.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
Ben Powell
Brian Thorne <[email protected]>
Geert Linders
Mark Catley
Phillip Dixon <[email protected]>
Rose Lu
Karl van Workum
Albert Bloomfield <[email protected]>
Sam Bristow
Ethan Zonca
Robert Kaye
Andrew Beal
Jonas Frid
Tynan McAuley
Bruno Pennati
Jack Jester-Weinstein
Joshua Villyard
Giuseppe Corbelli <[email protected]>
Christian Sandberg
Eduard Bröcker <[email protected]>
Boris Wenzlaff
Pierre-Luc Tessier Gagné
Felix Divo <[email protected]>
Ben Powell
Brian Thorne <[email protected]>
Geert Linders
Mark Catley
Phillip Dixon <[email protected]>
Rose Lu
Karl van Workum
Albert Bloomfield <[email protected]>
Sam Bristow
Ethan Zonca
Robert Kaye
Andrew Beal
Jonas Frid
Tynan McAuley
Bruno Pennati
Jack Jester-Weinstein
Joshua Villyard
Giuseppe Corbelli <[email protected]>
Christian Sandberg
Eduard Bröcker <[email protected]>
Boris Wenzlaff
Pierre-Luc Tessier Gagné
Felix Divo <[email protected]>
Kristian Sloth Lauszus <[email protected]>
Loading