Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/christabor/namebot

A company/project name generator for Python. Uses NLTK and diverse techniques derived from existing corporate etymologies and naming agencies for sophisticated word generation and ideation.
https://github.com/christabor/namebot

language name-generation naming naming-agencies nlp nltk

Last synced: 8 days ago
JSON representation

A company/project name generator for Python. Uses NLTK and diverse techniques derived from existing corporate etymologies and naming agencies for sophisticated word generation and ideation.

Awesome Lists containing this project

README

        

[![Coverage Status](https://coveralls.io/repos/christabor/namebot/badge.svg?branch=master&service=github)](https://coveralls.io/github/christabor/namebot?branch=master)
[![Build Status](https://travis-ci.org/christabor/namebot.svg?branch=master)](https://travis-ci.org/christabor/namebot)
[![PyPI version](https://badge.fury.io/py/namebot.svg)](http://badge.fury.io/py/namebot)
![Donation badge](https://img.shields.io/gratipay/christabor.svg)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/christabor/namebot/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/christabor/namebot/?branch=master)
[![Code Climate](https://codeclimate.com/github/christabor/namebot/badges/gpa.svg)](https://codeclimate.com/github/christabor/namebot)

# Namebot
A company/product/whatever name generating tool written in Python.

This project is ongoing, but feel free to contribute! It's a full-fledged suite of tools that can help you get started generating real business names for your project or company!

## Getting started

Install the package:

`pip install namebot` or clone this repo and then run `python setup.py install`

Wite your code!

```python
# Example usage - this one is slower because it does ALL techniques.
from pprint import pprint as ppr

from namebot import nlp
from namebot import techniques

base_words = ['cat', 'dog']
more_words = nlp.get_synsets(base_words)
all_examples = techniques.generate_all_techniques(base_words)

ppr(all_examples)
```

## Modules:

[See the docs](http://christabor.github.io/namebot/)

### Metrics
A class of utilities for generating all kinds of linguistic metrics for a set of words.

### NLP
Natural language processing tools for finding word relationships - uses NLTK for all of the heavy-lifting.

### Normalization
Some tools for normalizing and formatting content for use with the rest of the library.

### Scoring
Some scoring algorithms, primarily for classifying pronunciation, such as Soundex or Double Metaphone.

### Techniques
The major chunk of work represented in this library. The many techniques I've created after researching hundreds of corporate names and naming agency techniques

### Language Techniques
Techniques that involve the use of language translation for stylistic name use, such as Latin.

### Strainer
Similar to normalization, but for filtering based on rules, like length, count, etc... good for mapping 1:1 with UI inputs or just calling from the functions directly.

[See the docs for more](http://christabor.github.io/namebot/)

## How to setup server and test:

```
sudo make install
```

Check out https://github.com/Automotron/namebot-flask to see an example app
and configuration setup to use namebot and generate results with test data.

## Library Dependencies
See [requirements.txt](requirements.txt) and [Makefile](Makefile) for details.

## Tests

```
make install
make tests
```

Tests are available in the `tests/` folder. Test runner is provided by nose and can be run via `make`.

## Versioning

Versioning style follows the semantic versioning convention. For more info, see http://semver.org/

----

### Support / donations