Skip to main content

Music Faker Community Provider

Project description

faker_music: music provider for Faker

An add-on provider for the Python Faker module to generate random and/or fake data for music-related categories.

Description

faker_music provides music-related fake data for testing purposes. The definition of "fake" in this context really means "random," as the musical data are real. Invocation of this module simply provides a random choice from the underlying real-world data.

No claims are made as to the accuracy or completeness of this data. However, suggestions/corrections/additional data are happily accepted.

Currently implemented:

  • Music genres
  • Musical instruments

Coming soon:

  • Composers
  • Performers

For future implementation:

  • Band names (existing)
  • Fake band name generator
  • Theory (notes/scales/chord-types/progressions)
  • ...?

Installation

From PyPi:

pip install faker_music

From source code:

git clone https://github.com/jeffwright13/faker_music/
cd faker_music && python setup.py install

Execution

Add as a provider to your Faker instance:

>>> from faker import Faker
>>> from faker_music import MusicProvider
>>> fake = Faker()
>>> fake.add_provider(MusicProvider)

Now you can start to generate data:

>>> fake.music_genre()
>>> fake.music_subgenre()
>>> fake.music_instrument()
>>> fake.music_instrument_category()

About faker_music Objects

The music_genre_object is a dictionary consisting of a 'genre' string, and an associated 'subgenre' list. The purpose is to provide data that ties together a given genre with all of it known subgenres.

For example:

>>> fake.music_genre_object()

{'genre': 'Singer/Songwriter',
 'subgenres': [
  'Alternative Folk',
  'Contemporary Folk',
  'Contemporary Singer/Songwriter',
  'Indie Folk',
  'Folk-Rock',
  'Love Song',
  'New Acoustic',
  'Traditional Folk']}

Similarly, The music_instrument_object is a dictionary consisting of an instrument 'category' string, and an associated 'instrument' list. The purpose is to provide data that ties together a given caegory with all of it known instruments.

For example:

>>> fake.music_instrument_object()

{'category': 'electronics',
 'instruments': [
  'Drum machine',
  'Electric guitar',
  'Keyboard',
  'Synthesizer',
  'Theremin',
  'Turntable']}

Data Sources

Original data for this project (stored in genres.py, instruments.py) was lifted from https://www.musicgenreslist.com and Wikipedia, and massaged into a format suitable for coding using the genre_parser.py and instrument_parser.py code found here.

Acknowlegements

  • I would like to thank the maintainer of the faker_airtravel repository, since I used its structure to create this one.
  • Big thanks also to Bob Belderbos for his expert guidance in getting this litte project off the ground.

Project details


Release history Release notifications | RSS feed

This version

0.4

Download files

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

Source Distribution

faker_music-0.4.tar.gz (15.3 kB view hashes)

Uploaded source

Built Distribution

faker_music-0.4-py2.py3-none-any.whl (14.9 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page