Skip to main content

A python lib for degree calculations and conversions

Project description

degrees V0.3.0

Note:

This is the only version that is stable and compatible with python 3.8.

The older versions are NOT stable.

Added in version 0.2: Supported pickle.

Contents

  • Introduction
  • Importing
  • Class
    • Degree
  • Functions
    • degree2radian
    • radian2degree
    • normalize
  • Changelog

Introduction

A python lib for degree calculations and conversions

Importing

Just type import degrees.

Class

  • class degrees.Degree(number)
    class degrees.Degree(degree_obj)
    class degrees.Degree(degree=0, minute=0, second=0)

    • Creating a Degree object

import degrees

print(degrees.Degree(1))  # 1°
print(degrees.Degree(2, 3, 4))  # 2°3'4"
print(degrees.Degree(1, second=2))  # 1°0'2"
print(degrees.Degree(1, 3))  # 1°3'
print(degrees.Degree(0, -1))  # -1'
print(degrees.Degree(1.5))  # 1°30'
print(degrees.Degree(2, -4))  # ValueError: if degree is not 0, minute and second must be positive integer
  • calculating:

    a + b a - b a * b a / b math.trunc(a)
    abs(a) math.ceil(a) math.floor(a) a % b
    a // b +a -a hash(a)

    Added in version 0.1.7: Implemented the math.trunc function on the Degree objects.

  • conversions:

    int(a) float(a) str(a) repr(a) bool(a) complex(a)

    The complex(degree_obj) is different from degree_obj.to_complex(length). The former returns int(degree_obj)+0j, but the latter returns complex(length * cos(theta), length * sin(theta)), theta=degree2radian(degree_obj).

For example:

import degrees
a = degrees.Degree(45)
print(complex(a))  # (45+0j)
print(a.to_complex(2 ** 0.5))  # about (1+1j)
  • comparisons:

    a >= b a > b a = b
    a <= b a < b a != b
  • staticmethod from_str(string)

    Return a degree object from a string. The dms characters should be °, ' and ".

  • staticmethod from_unicode(string)

    Similar to from_str, but the dms characters should be °, and .

    Added in version 0.1.10.

  • staticmethod from_iter(iterable)

    Return a degree object from an iterable.

  • property total_seconds

    The total seconds of a degree object.

  • deg

    The degree of a degree object(without sign).

  • min

    The minute of a degree object(without sign).

  • sec

    The second of a degree object(without sign).

  • sign

    The sign of a degree object.

  • to_complex(length: Union[int, float])

    Returns the complex number corresponding to (angle=self, radius=length).

    Added in version 0.2.1.

  • property dms

    A tuple of (degree, minute, second).

Note

The attributes of Degree are read-only.

Functions

def degree2radian(x: Degree, /)

  • Convert angle x from a degree object to radians.

def radian2degree(x: Union[int, float], /)

  • Convert angle x from radians to a degree object.

def normalize(x: Degree, /)

  • Be using for angle normalization.

Version

version_info

Consts

DEGREE
MINUTE
SECOND

Equals to °, and .

Changelog

  1. Nothing.

Write in the end

If you found the bug in the code, you can email me at snake830@vip.163.com. I am happy to receive the advice!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

degrees-0.3.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

degrees-0.3.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file degrees-0.3.0.tar.gz.

File metadata

  • Download URL: degrees-0.3.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for degrees-0.3.0.tar.gz
Algorithm Hash digest
SHA256 19459f96c2e9db52f5265464d4118ef38767c4095109bbbc63dfdcf5e6bdb48f
MD5 7cff55a822aaa4f083693fda536d0a3a
BLAKE2b-256 9211f8dea174ae596ec7d615a886a6ca0a0151074cb4331c88748110038a08b0

See more details on using hashes here.

File details

Details for the file degrees-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: degrees-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for degrees-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8af6e3d9e18be7aa883fe8bd31356efc00b408a24cb6c2560d9dacb1f256dba3
MD5 9f7ca54a3125821c0fcc4b226fb915b8
BLAKE2b-256 ac00f6c0a5367820af73e2e891fdaa4fe1f86b2f0b1eb9c3d1aa000d90970f5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page