Metadata-Version: 2.1
Name: ozcore
Version: 1.1.6
Summary: My core.
Home-page: https://github.com/ozgurkalan/OzCore
License: GPL-3.0-or-later
Author: Ozgur Kalan
Author-email: ozgurkalan@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: docs
Provides-Extra: test
Requires-Dist: Faker (>=6.6.2,<7.0.0)
Requires-Dist: SQLAlchemy (>=1.4.2,<2.0.0)
Requires-Dist: alembic (>=1.5.7,<2.0.0)
Requires-Dist: beautifulsoup4 (>=4.9.3,<5.0.0)
Requires-Dist: docxcompose (>=1.3.1,<2.0.0)
Requires-Dist: dynaconf (>=3.1.4,<4.0.0)
Requires-Dist: emoji (>=1.2.0,<2.0.0)
Requires-Dist: google-trans-new (>=1.1.9,<2.0.0)
Requires-Dist: html2text (>=2020.1.16,<2021.0.0)
Requires-Dist: html5lib (>=1.1,<2.0)
Requires-Dist: ipyaggrid (>=0.2.1,<0.3.0)
Requires-Dist: ipykernel (>=5.5.0,<6.0.0)
Requires-Dist: lxml (>=4.6.3,<5.0.0)
Requires-Dist: markdown2 (>=2.4.0,<3.0.0)
Requires-Dist: nbformat (>=5.1.2,<6.0.0)
Requires-Dist: numpy (>=1.20.1,<2.0.0)
Requires-Dist: pandas (>=1.2.3,<2.0.0)
Requires-Dist: pandas-datareader (>=0.9.0,<0.10.0)
Requires-Dist: pandas-profiling (>=2.11.0,<3.0.0)
Requires-Dist: python-docx (>=0.8.10,<0.9.0)
Requires-Dist: python-dotenv (>=0.15.0,<0.16.0)
Requires-Dist: qgrid (>=1.3.1,<2.0.0)
Requires-Dist: requests (>=2.25.1,<3.0.0)
Requires-Dist: scipy (>=1.6.1,<2.0.0)
Requires-Dist: typeguard (>=2.11.1,<3.0.0)
Requires-Dist: urllib3 (>=1.26.4,<2.0.0)
Project-URL: Repository, https://github.com/ozgurkalan/OzCore
Description-Content-Type: text/x-rst

======
OzCore
======

OzCore is my core.

It is automating my boring stuff. A time saver for me. I can access frequently used modules and methods easliy. Most of my time is passing with Jupyter Notebooks, and OzCore is my best friend. 

Many code snippets derive from a hard processes. I search for the best fitting options and try them sometimes for hours or days. OzCore keeps my good practices as side notes. My quality time for coding is mostly passing with annoying dev-environment, re-setups and glitches. OzCore skips the hard process and provides me with a fresh working environment, where All necessary packages installed.

Goals
=====

* a Jupyter Notebook having the most used modules.
* shorthand to 
    * path operations
    * tmp folder actions
    * Sqlite operations
    * CSV operations
    * Dataframe operations
    * Dummy records
    * Jupyter initial setups
    * Jupyter Notebook grid plugins
    * and some MS Office automations


Warnings
========

Work In Progress
~~~~~~~~~~~~~~~~

This package is continuously WIP. It is for my development projects and I happily share it with open source developers. But, please bear with the versions and tests, which may effect your applications.


Massive Dependencies
~~~~~~~~~~~~~~~~~~~~

Since OzCore is a collection of snippets using diverse packages, massive amount of dependencies will be downloaded.

.. warning:: pyproject.toml

    Please see dependencies in ``pyproject.toml`` before installing.

MacOS rules
~~~~~~~~~~~

Some of the helper modules and functions are directly referenced to MacOS environment. Espacially Windows users may not like it. And some references are pointing to options which may not be available in your system. Such as OneDrive folder or gDrive folder. I have tests to distinguish between users, nevertheless you should be aware of this.

------------


Installation
============

I would prefer to run on an Anaconda environment. Here you will find multiple examples.

.. warning::

    Python environment management has become a disaster. Please be sure where you are with ``which python`` . 


I. Anaconda
~~~~~~~~~~~

.. code:: bash

    # new env needs ipython
    conda create -n py383 python=3.8.3 ipython  

    conda activate py383

    pip install ozcore



II. Virtualenv
~~~~~~~~~~~~~~

.. code:: bash

    # create a virtualenv
    python -m venv .venv

    source .venv/bin/activate

    pip install ozcore


III. Pip simple
~~~~~~~~~~~~~~~

.. code:: bash

    # in any environment having pip
    pip install ozcore


IV. Poetry with Pyenv
~~~~~~~~~~~~~~~~~~~~~

.. code:: bash

    # in any package folder (3.8.4 version of python is arbitrary)
    pyenv local 3.8.4

    poetry shell

    poetry add ozcore


V. GitHub with Pip
~~~~~~~~~~~~~~~~~~

.. code:: bash

    # in any environment having pip
    pip install https://github.com/ozgurkalan/OzCore.git


VI. GitHub clone
~~~~~~~~~~~~~~~~

.. code:: bash

    # in some folder, e.g. Desktop
    git clone https://github.com/ozgurkalan/OzCore.git



Jupyter Kernel
==============

Jupyter has its own configuration. Espacially when you have Anaconda installed,  ``kernel.json`` may have what conda sets. 

For your Jupyter Notebook to run in your dedicated environment, please use the following script::

    # add kernell to Jupyter
    python -m ipykernel install --user --name=<your_env_name>

    # remove the kernel from Jupyter
    jupyter kernelspec uninstall <your_env_name>





