Metadata-Version: 1.1
Name: Khayyam
Version: 3.0.17
Summary: Persian Date & Time library (aka: Jalali Calendar) with timezone, DST(daylight-saving), full formatting & parsing support for python 2 & 3 including c extention
Home-page: http://khayyam.dobisel.com
Author: Vahid Mardani
Author-email: vahid.mardani@gmail.com
License: GPLv3
Description: khayyam
        =======
        
        .. image:: http://img.shields.io/pypi/v/khayyam.svg
             :target: https://pypi.python.org/pypi/khayyam
        
        .. image:: https://requires.io/github/pylover/khayyam/requirements.svg?branch=master
             :target: https://requires.io/github/pylover/khayyam/requirements/?branch=master
             :alt: Requirements Status
        
        .. image:: https://travis-ci.org/pylover/khayyam.svg?branch=master
             :target: https://travis-ci.org/pylover/khayyam
        
        .. image:: https://coveralls.io/repos/github/pylover/khayyam/badge.svg?branch=master
             :target: https://coveralls.io/github/pylover/khayyam?branch=master
        
        .. image:: https://img.shields.io/badge/license-GPLv3-brightgreen.svg
             :target: https://github.com/pylover/khayyam/blob/master/LICENSE
        
        
        Jump To:
        ^^^^^^^^
        
         * `Documentation <http://khayyam.dobisel.com>`_
         * `Python package index <https://pypi.python.org/pypi/khayyam>`_
         * `Source on github <https://github.com/pylover/khayyam>`_
         * `Downloads <https://pypi.python.org/pypi/Khayyam#downloads>`_
        
        
        Basic Usage
        ^^^^^^^^^^^
        
            >>> from khayyam import *
            >>> JalaliDate(1346, 12, 30)
            khayyam.JalaliDate(1346, 12, 30, Chaharshanbeh)
            
            >>> JalaliDatetime(989, 3, 25, 10, 43, 23, 345453)
            khayyam.JalaliDatetime(989, 3, 25, 10, 43, 23, 345453, Seshanbeh)
        
        Current date and time
        ^^^^^^^^^^^^^^^^^^^^^
        
            >>> print(JalaliDatetime.now())
            khayyam.JalaliDatetime(1394, 5, 18, 16, 4, 48, 628383, Yekshanbeh)
        
            >>> print(JalaliDatetime.now(TehranTimezone()) - timedelta(days=6*30))
            1393-11-02 20:01:11.663719+03:30
          
            >>> print(JalaliDate.today())
            1394-4-30
          
        
        Parsing & Formatting
        ^^^^^^^^^^^^^^^^^^^^
        
            >>> print(JalaliDatetime.now().strftime('%C'))
            شنبه ۳ مرداد ۱۳۹۴ ۰۲:۳۷:۵۲ ب.ظ
            
            >>> JalaliDatetime.strptime(u'چهارشنبه ۳۱ تیر ۱۳۹۴ ۰۵:۴۵:۴۰ ب.ظ', '%C')
            khayyam.JalaliDatetime(1394, 4, 31, 17, 45, 40, 0, Chaharshanbeh)
        
        Converting
        ^^^^^^^^^^
        
            >>> from datetime import date, datetime
            >>> JalaliDate(1394, 4, 31).todate()
            datetime.date(2015, 7, 22)
          
            >>> now = JalaliDatetime(1394, 4, 31, 15, 38, 6, 37269)
            >>> now.todate()
            datetime.date(2015, 7, 22)
          
            >>> now.todatetime()
            datetime.datetime(2015, 7, 22, 15, 38, 6, 37269)
          
            >>> JalaliDatetime(datetime(2015, 7, 22, 14, 47, 9, 821830))
            khayyam.JalaliDatetime(1394, 4, 31, 14, 47, 9, 821830, Chaharshanbeh)
          
            >>> JalaliDatetime(datetime(2015, 7, 22, 14, 47, 9, 821830, TehranTimezone()))
            khayyam.JalaliDatetime(1394, 4, 31, 14, 47, 9, 821830, tzinfo=+03:30 dst:60, Chaharshanbeh)
          
            >>> JalaliDate(date(2015, 7, 22))
            khayyam.JalaliDate(1394, 4, 31, Chaharshanbeh)
        
        Arithmetics & Operators
        ^^^^^^^^^^^^^^^^^^^^^^^
        
            >>> from datetime import timedelta
            >>> from khayyam import JalaliDate, JalaliDatetime
            >>> now = JalaliDatetime(1394, 4, 31, 16, 17, 31, 374398)
            >>> now + timedelta(days=1)
            khayyam.JalaliDatetime(1394, 5, 1, 16, 17, 31, 374398, Panjshanbeh)
          
            >>> now + timedelta(seconds=3600)
            khayyam.JalaliDatetime(1394, 4, 31, 17, 17, 31, 374398, Chaharshanbeh)
          
            >>> now - timedelta(seconds=3600)
            khayyam.JalaliDatetime(1394, 4, 31, 15, 17, 31, 374398, Chaharshanbeh)
          
            >>> yesterday = now - timedelta(1)
            >>> yesterday
            khayyam.JalaliDatetime(1394, 4, 30, 16, 17, 31, 374398, Seshanbeh)
          
            >>> now - yesterday
            datetime.timedelta(1)
          
            >>> JalaliDatetime.now() - now
            datetime.timedelta(0, 478, 328833) # 478 seconds taken to writing this section
        
        
        Comparison
        ^^^^^^^^^^
        
            >>> now > yesterday
            True
          
            >>> now != yesterday
            True
          
            >>> now.todate() == yesterday.todate()
            False
        
        
        Change Log
        ^^^^^^^^^^
        
        * 3.0.15:
            * BUGFIX: Removing `from sphinx.util import inspect` from jalali_datetime.py.
        
        * 3.0.11
            * Allmost the all API's are documented.
        
        * 3.0.10
            * Imoprting JalaliDateFormatter & JalaliDatetimeFormatter in __init__.py
            * Accept also callable in JalaliDatetime.__init__(tzinfo=...) for tzinfo argument.
            * JalaliDatetime APIs, well documented.
        
        * 3.0.9
            * Removing pypy from travis, due the travis bug: buffer overflow !
        
        
        * 3.0.0
            * Raising TypeError instead of ValueError on overloaded operators, if the given type is mismatch.
            * Fixing tests to pass on systems that configured as UTC.
            * 100% Code coverage
            * Moving all tests to khayyam/tests
            * Removing some uncovered, obsolete code lines
        
        * 2.11.0
            * Using pure C instead of cython. Now the C extension is as fast as possible.
            * Including OSX in travis.yaml for python 2 & 3
            * Including pypy 2 & 3 tests in travis.yaml
        
        * 2.10.0
            * Add english weekday format directive
        
        * 2.9.8
            * Registering on travis-ci.org
            * Registering on coveralls.io
            * Registering on requires.io
        
        * 2.9.7
            * Fixing problem in setup.py in python3 #15
        
        * 2.9.3
            * setup.py for windows
        
        * 2.9.1
            * Release !
        
        * 2.9.1b2
            * encoding all __repr__ functions
        
        * 2.9.1b1 (2015-07-30)
            * Fixing setup.py bug
        
        * 2.9.1b0 (2015-07-30)
            * Using any available C compiler if cython is not available.
            * Using pure python if any error raised on installation with extension.
        
        * 2.9.0b0 (2015-07-30)
            * All algorithms reimplemented using cython and static typing, so the calculation
                with new C extension is very faster than python pure algorithm implementation.
            * Fallback switch to pure python algorithm implementation, if compiled binaries not available.
            * Test case(s) for algorithms(C & Python).
        
        * 2.8.0b1 (2015-07-28)
            * `Jalalidate.timetuple` method implemented from scratch including unit test.
            * Some methods with underscore renamed: `JalaliDate.*_ascii` to `JalaliDate.*ascii`
        
        * 2.7.0b2 (2015-07-26)
            * README.rst
        
        
        * 2.7.0-beta (2015-07-25)
            * some bug fixes.
            * method `Jalalidate.fromdate` removed. use constructor instead: `JalaliDate(date)`
            * method `Jalalidate.fromjulianday` removed. use constructor instead: `JalaliDate(julian_days=..)`
            * method `Jalalidate.fromdatetime` removed. use constructor instead: `JalaliDatetime(datetime)`
        
        
        * 2.6.0-beta (2015-07-25)
            * All possible formatting directives(a-z, A-Z) are supported, except: T
            * All format directives are tested.
            * Formatting and parsing test cases moved to `khayyam.formatting.tests` package.
            * In project: docs/html
            * `JalaliDate.from_julian_days` renamed to `JalaliDate.fromjuliandays`
            * `JalaliDate.from_julian_days` renamed to `JalaliDate.fromjuliandays`
            * `JalaliDate.days_in_month` renamed to `JalaliDate.daysinmonth`
            * `JalaliDate.is_leap` renamed to `JalaliDate.isleap`
            * `JalaliDatetime` Modern properties.
            * README.md updated
        
        * 2.5.0-beta (2015-07-23)
            * Doc: doctest
            * Doc: formatting and parsing directives table.
            * Doc: adding examples of new formatting directives in introduction: %D, %J, %R, %N, %n, %F, %h, %i, %r, %s, %o.
            * local date & time formats are changed: digits -> persian
            * Formatting and parsing test cases has been separated
        
        * 2.4.0-beta (2015-07-22)
            * Persian Numbers
            * %D, %J, %R, %N, %n, %F, %h, %i, %r, %s, %o directives has been added.
        
        * 2.3.0-alpha (2015-07-22)
            * Constants are moved to formatting packages except MINYEAR, MAXYEAR ans weekdays.
            * Doc: Introduction -> Formatting & parsing
            * Doc: Introduction -> Converting
            * New methods `jalaliDate.todate`, `jalaliDate.fromdate`, `jalaliDatetime.todatetime` and `jalaliDatetime.fromdatetime`
            * Removed methods `jalaliDate.to_date`, `jalaliDate.from_date`, `jalaliDatetime.to_datetime` and `jalaliDatetime.fromdate_time`
        
        
        * 2.2.1-alpha (2015-07-21)
            * Doc: Reading package's version automatically from khayyam/__init__.py in `sphinx/conf.py`
            * Doc: Installation: (PYPI, Development version)
            * Doc: Testing
            * Doc: Contribution
        
        * 2.2.0-alpha (2015-07-21)
            * Generating API Documentation
        
        * 2.1.0-alpha (2015-07-20)
            * Adding ascii weekdayname in `JalaliDatetime` and `JalaliDate` representation(__repr__).
        
        * 2.0.0-alpha (2015-07-19) Incompatible with < 2.0.0
            * JalaliDate: method `localformat` renamed to `localdateformat`.
            * JalaliDatetime: method `localformat` renamed to `localdatetimeformat`.
            * JalaliDatetime: method `localshortformat_ascii` renamed to `localshortformatascii`.
            * JalaliDatetime: method `localdatetimeformat_ascii` renamed to `localdatetimeformatascii`.
            * JalaliDatetime: method `ampm_ascii` renamed to `ampmascii`.
            * JalaliDatetime: Migrating to New Formatter/Parser Engine
            * TehTz: renamed to TehranTimezone
            * Comparison and Timezones
            * Comparison with `datetime.date` & `datetime.datetime`
            * Fixing timezone bug
        
        * 1.1.0 (2015-07-17)
            * JalaliDate: New Formatter/Parser & full unittests.
        
        
Keywords: Khayyam persian jalali date time datetime conversion
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Natural Language :: Persian
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Localization
