New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor #14

Merged
merged 21 commits into from Apr 10, 2014

Conversation

1 participant
@Juanlu001
Member

Juanlu001 commented Dec 27, 2013

Started refactoring of poliastro.

  • Body, pretty printing.
  • State objects, conversion between coordinates, test Vallado 25 and 26
  • Propagation, test Vallado 24
  • Reimplement algorithm from Vallado, benchmark, get rid of corresponding Fortran
  • Maneuver objects, Hohmann and bielliptic, test Vallado 61 and 62

Juanlu001 added some commits Dec 26, 2013

Several packaging fixes
Moved back tests inside source dir, added *.pyf files to
MANIFEST.in in case they're not included by numpy.distutils and
edited tox.ini accordingly.
Added module bodies and tests, 100 % coverage
Also created script pre_commit.sh to check pep8, pylint
and run coverage tests.
Created new twobody module, State class
Also a couple of pep8 fixes and an update to pre_commit.sh.
Added transformations between coe and rv forms
Also:
* Unicode fixes in bodies and test_bodies
* Added rotation functions, wrapping astropy.coordinates.angles
* Cleaned __init__.py
@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Dec 28, 2013

Found two issues with Astropy, see:

@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Dec 28, 2013

Build passing and 100 % coverage - will come back on 2014 :)

@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Jan 3, 2014

Perhaps trying to get this done in one stroke is too much (see f444b2e). Merge at discretion.

@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Jan 19, 2014

When working on 80273a7 I realized some work is necessary on State objects. I added two goals to the wiki:

  • If there is a case where I have to do a, ecc, inc, raan, argp, nu = ss.coe there is something wrong.
  • I should always be able to retrieve individual elements: ss.a, ss.lonper.
@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Jan 20, 2014

Greatly updated wiki after some time rethinking some parts of the API I disliked specially. If no more changes are suggested, as soon as I can reproduce the contents of API Refactor: Maneuver example I feel I can merge this to master and go on from there, and then decide if it's too early for a v0.2 release.

@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Jan 20, 2014

Edited tasks accordingly.

@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Apr 8, 2014

Further work on State objects, reflecting the new ideas in https://github.com/Pybonacci/poliastro/wiki/API-Refactor%3A-State-objects#new-ideas.

@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Apr 8, 2014

On second thought, before getting rid of the Fortran algorithms I'd better do the testing and then some benchmarks. Updated tasks accordingly.

Juanlu001 added some commits Apr 8, 2014

Added propagation code, removed twobody package
Changed the way quantities are handled in assertions, see
astropy/astropy#1930
Units handling made more coherent
Now the handling of quantities with units is totally decoupled.
The `State` objects have fully knowledge of units, whereas the
functions of the twobody module don't. If all NumPy ufuncs worked
with units the functions would work equally with or without units;
with the current state of astropy.units they require raw values.
@Juanlu001

This comment has been minimized.

Member

Juanlu001 commented Apr 10, 2014

After many months of sparse work, I prefer leaving 'master' in a non feature-complete but correct state, so I'm merging this pull request now.

Juanlu001 added a commit that referenced this pull request Apr 10, 2014

Merge pull request #14 from Pybonacci/refactor
Merge refactor branch
Changed completely the philosophy of the library. At this point poliastro doesn't have the feature set of versions 1.x but further work will go to master.

@Juanlu001 Juanlu001 merged commit 880a459 into master Apr 10, 2014

1 check passed

continuous-integration/travis-ci The Travis CI build passed
Details

@Juanlu001 Juanlu001 deleted the refactor branch Apr 10, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment