Metadata-Version: 2.1
Name: magicpandas
Version: 0.0.4
Summary: A dead simple interface for manipulating pandas dataframes
Home-page: https://github.com/pandichef/magicpandas
Author: pandichef
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
Description-Content-Type: text/markdown
Requires-Dist: altair
Requires-Dist: numpy-financial
Requires-Dist: pandas
Requires-Dist: pandas-market-calendars
Requires-Dist: statsmodels
Requires-Dist: xlsxwriter
Provides-Extra: dev
Requires-Dist: vega-datasets ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pipenv-setup ; extra == 'dev'

\#\#\#\#\# UNDER CONSTRUCTION \#\#\#\#\# 

### magicpandas
*magicpandas* makes working with pandas dead simple.

### Main Features
* MagicDataFrame subclasses DataFrame to make existing methods more intuitive as well as add new methods
* MagicDataFrame adds verbose labels that are used by default when displaying data
* MagicDataFrame supports Django ORM  
  * inspectdf uses DataFrame column types to produce a Django model class (cf. [inspectdb](https://docs.djangoproject.com/en/3.0/howto/legacy-databases/#auto-generate-the-models))
  * to_django saves the DataFrame to SQL using Django ORM's [bulk_update](https://docs.djangoproject.com/en/3.0/ref/models/querysets/#bulk-update) and [bulk_create](https://docs.djangoproject.com/en/3.0/ref/models/querysets/#bulk-create).

##### Installation
`pip install magicpandas`

##### Examples
```python
from magicpandas import MagicDataFrame
mdf = MagicDataFrame(df)
mdf2 = mdf.drop('*e', axis=1) # df2 drops all columns ending in "e"
mdf.browse() # opens the DataFrame in MS Excel with nice formatting
mdf.browse(client='webbrowser') # opens the DataFrame as html displayed in Chrome with nice formatting
mdf.graph()  # Opens a graph in Chrome using the excellent Altair library using sensible encodings
mdf.inspect_for_django()  # prints text that corresponds to a Django model definition
```

### Philosophy
* Convention over configuration
* Employs Altair rather than than matplotlib because it's web first and based on 
the [Grammar of Graphics](https://idl.cs.washington.edu/papers/vega-lite/)
* Employs MS Excel for data browsing
* There should be little gap between intention and implementation


