Skip to content

Commit a1c6c02

Browse files
committed
Committing Progress on Rewrite Branch (ng)
Committing the work I've been doing over the past little while on a rewrite for python-fitparse. Major Changes ------------- * New, hopefully cleaner public API with a clear division between accessible and internal parts. (Still unstable and partially complete.) * Proper documentation! Going to use Sphinx. * Unit tests and example programs. * (WIP) Command line tools (eg a `.FIT` to `.CSV` converter). * Component fields and compressed timestamp headers now supported and not just an afterthought. Closes issues dtcooper#6 and dtcooper#7. * FIT file parsing is generic enough to support all types. Going to have specific `FitFile` subclasses for more popular file types like activities. * (WIP) Converting field types to normalized values (for example, `bool`, `date_time`, etc) done in a consistent way, that's easy to customize by subclassing the converter class. I'm going to use something like the Django form-style `convert_<field name>` idiom on this class. * The FIT profile is its own complete python module, rather than using `profile.def`. * Bonus! The profile generation script is less ugly (but still an atrocity) and supports every ANT FIT SDK from version 1.00 up to 5.10. * A working `setup.py` module. Closes issue dtcooper#2, finally! I'll upload the package to PyPI when it's done. * Support for parsing one record at a time. This can be done using `<FitFile>.parse_one()` for now, but I'm not sure of the exact implementation yet.
1 parent e31de96 commit a1c6c02

13 files changed

Lines changed: 8222 additions & 387 deletions

‎README‎

Lines changed: 0 additions & 3 deletions
This file was deleted.

‎README.md‎

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
python-fitparse
2+
===============
3+
4+
Welcome to the rewrite for the next generation (ng) of python-fitparse.
5+
6+
Here's a preview of what's to come. Any and all feedback is welcome.
7+
8+
**WARNING:** This is a WIP considered *HIGHLY* unstable. You want to use the
9+
master branch for now.
10+
11+
Major Changes
12+
-------------
13+
14+
* New, hopefully cleaner public API with a clear division between accessible
15+
and internal parts. (Still unstable and partially complete.)
16+
17+
* Proper documentation! Going to use [Sphinx](http://sphinx-doc.org/).
18+
19+
* Unit tests and example programs.
20+
21+
* **(WIP)** Command line tools (eg a `.FIT` to `.CSV` converter).
22+
23+
* Component fields and compressed timestamp headers now supported and not
24+
just an afterthought. Closes issues #6 and #7.
25+
26+
* FIT file parsing is generic enough to support all types. Going to have
27+
specific `FitFile` subclasses for more popular file types like activities.
28+
29+
* **(WIP)** Converting field types to normalized values (for example,
30+
`bool`, `date_time`, etc) done in a consistent way, that's easy to
31+
customize by subclassing the converter class. I'm going to use something
32+
like the Django form-style `convert_<field name>` idiom on this class.
33+
34+
* The FIT profile is its own complete python module, rather than using
35+
`profile.def`.
36+
37+
* Bonus! The profile generation script is _less_ ugly (but still an
38+
atrocity) and supports every
39+
[ANT FIT SDK](http://www.thisisant.com/resources/fit) from version 1.00
40+
up to 5.10.
41+
42+
* A working `setup.py` module. Closes issue #2, finally! I'll upload the
43+
package to [PyPI](http://pypi.python.org/) when it's done.
44+
45+
* Support for parsing one record at a time. This can be done using
46+
`<FitFile>.parse_one()` for now, but I'm not sure of the exact
47+
implementation yet.
48+
49+
50+
License
51+
-------
52+
53+
This software is offered under a *slightly* modified ISC-style license.
54+
55+
56+
Copyright (c) 2011-2012, David Cooper <dave@kupesoft.com>
57+
All rights reserved.
58+
59+
Dedicated to Kate Lacey
60+
61+
Permission to use, copy, modify, and/or distribute this software
62+
for any purpose with or without fee is hereby granted, provided
63+
that the above copyright notice, the above dedication, and this
64+
permission notice appear in all copies.
65+
66+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
67+
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
68+
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
69+
THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
70+
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
71+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
72+
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
73+
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

‎fitparse/__init__.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from fitparse.base import FitFile, FitParseError
2+
3+
__version__ = '0.0.1-dev'
4+
__all__ = ['FitFile', 'FitParseError']

0 commit comments

Comments
 (0)