Project Description
Release History
## Release History

h2. What is baseconv?

baseconv is a generic _base conversion_ library for Python. It allows you to

convert any number between binary, hexadecimal, decimal, octal or any other

base you can define. A base is a method of representing numbers; using two or

more different _words_ you can represent any conceivable number using an

ordered combination of those words. For example, the _decimal_ base is made up

of 10 words: 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. _Binary_ uses only 0 and 1.

h2. Usage

h3. Installation

To install baseconv, simply pull the repository using @git@ (for more info

consult the "github documentation":http://github.com/guides), @cd@ into the

directory and run the following command as root:

python setup.py install

This will copy @baseconv.py@ to Python's @site-packages@ directory, and you

can then import the library in your code via @import baseconv@.

h3. Using the Library In Your Code

In order to carry out the most common features of base conversion, the library

comes equipped with the pre-defined bases @DECIMAL@, @BINARY@, @HEXADECIMAL@,

@OCTAL@, @ALPHA\_LOWER@, @ALPHA\_UPPER@ and @ALPHA@. This means you can, out

of the box, convert between all of these bases. An example usage case is shown

below; note that numbers are held as instances of the @baseconv.Number@ class,

and bases as @baseconv.Base@ instances. The attributes @decimal@, @base@,

@values@ and @indices@ are all Python _descriptors_; setting or otherwise

changing one will cause the number's other attributes to update. The following

code sample shows how you might use the library in a basic way:

>>> from baseconv import \*

>>> num = BINARY('1010011010') # Create a number

>>> num # Show the representation of a number

Number(BINARY, '1010011010')

>>> num.decimal

666

>>> num.decimal = 423 # Change a number's decimal value

>>> num # The number's binary value has changed automatically

Number(BINARY, '110100111')

>>> num.base = HEXADECIMAL # Change a number's base

>>> num

Number(HEXADECIMAL, '1A7')

>>> print num # Print a number as a string; also accessible via str(num)

0x1A7

>>> num.values # The sequence of base-words that this number represents

'1A7'

>>> num.values = 'FFC0DE' # Set this numbers values list

>>> num # Number has changed accordingly

Number(HEXADECIMAL, 'FFC0DE')

>>> num.indices # The decimal value of each word in this number

[15, 15, 12, 0, 13, 14]

>>> num.indices = [1, 10, 7] # Set this number's indices attribute

>>> num

Number(HEXADECIMAL, '1A7')

h2. About the Author

My name is Zachary Voase, and you can get to my personal home page (which has links to all my other pages) "here":http://biga.mp.

baseconv is a generic _base conversion_ library for Python. It allows you to

convert any number between binary, hexadecimal, decimal, octal or any other

base you can define. A base is a method of representing numbers; using two or

more different _words_ you can represent any conceivable number using an

ordered combination of those words. For example, the _decimal_ base is made up

of 10 words: 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. _Binary_ uses only 0 and 1.

h2. Usage

h3. Installation

To install baseconv, simply pull the repository using @git@ (for more info

consult the "github documentation":http://github.com/guides), @cd@ into the

directory and run the following command as root:

python setup.py install

This will copy @baseconv.py@ to Python's @site-packages@ directory, and you

can then import the library in your code via @import baseconv@.

h3. Using the Library In Your Code

In order to carry out the most common features of base conversion, the library

comes equipped with the pre-defined bases @DECIMAL@, @BINARY@, @HEXADECIMAL@,

@OCTAL@, @ALPHA\_LOWER@, @ALPHA\_UPPER@ and @ALPHA@. This means you can, out

of the box, convert between all of these bases. An example usage case is shown

below; note that numbers are held as instances of the @baseconv.Number@ class,

and bases as @baseconv.Base@ instances. The attributes @decimal@, @base@,

@values@ and @indices@ are all Python _descriptors_; setting or otherwise

changing one will cause the number's other attributes to update. The following

code sample shows how you might use the library in a basic way:

>>> from baseconv import \*

>>> num = BINARY('1010011010') # Create a number

>>> num # Show the representation of a number

Number(BINARY, '1010011010')

>>> num.decimal

666

>>> num.decimal = 423 # Change a number's decimal value

>>> num # The number's binary value has changed automatically

Number(BINARY, '110100111')

>>> num.base = HEXADECIMAL # Change a number's base

>>> num

Number(HEXADECIMAL, '1A7')

>>> print num # Print a number as a string; also accessible via str(num)

0x1A7

>>> num.values # The sequence of base-words that this number represents

'1A7'

>>> num.values = 'FFC0DE' # Set this numbers values list

>>> num # Number has changed accordingly

Number(HEXADECIMAL, 'FFC0DE')

>>> num.indices # The decimal value of each word in this number

[15, 15, 12, 0, 13, 14]

>>> num.indices = [1, 10, 7] # Set this number's indices attribute

>>> num

Number(HEXADECIMAL, '1A7')

h2. About the Author

My name is Zachary Voase, and you can get to my personal home page (which has links to all my other pages) "here":http://biga.mp.

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.