Skip to main content

Spanish Conjugator 🇪🇸

GitHub Workflow Status GitHub repo size PyPI - Downloads GitHub top language GitHub PyPI

A class Conjugator containing a function conjugate which conjugates spanish verbs by tense, mood and pronoun.

Installation

pip install spanishconjugator

Example usage

Example python usage; the conjugate function of the Conjugator Class takes 4 parameters being root-verb, tense, mood, pronoun respectively

from spanishconjugator import Conjugator
imperfect_conjugation = Conjugator().conjugate('hablar','imperfect','indicative','yo')
print(imperfect_conjugation)
>>> hablaba

Tenses, Moods and Pronouns implemented

All pronouns are implemented yo, tu, usted, nosotros, vosotros, ustedes

All moods currently implemented are indicative, conditional

All tenses currently implemented are present, imperfect, preterite, future, present_perfect, past_anterior, future_perfect, conditional_simple

Exaple usage of different moods/tenses with hablar and yo

Indicative Present

Conjugator().conjugate('hablar','present','indicative','yo')
>>> hablo

In case of indicative present, 4th param pronoun is optional.

from spanishconjugator import Conjugator
present_indicative_conjugation = Conjugator().conjugate('hablar','present','indicative')
print(present_indicative_conjugation)
>>> {'el/ella/usted': 'habla', 'ellos/ellas/ustedes': 'hablan', 'tu': 'hablas', 'vosotros': 'habláis', 'yo': 'hablo', 'nosotros': 'hablamos'}

Indicative Imperfect

Conjugator().conjugate('hablar','imperfect','indicative','yo')
>>> hablaba

Indicative Preterite

Conjugator().conjugate('hablar','preterite','indicative','yo')
>>> hablé

Indicative Future

Conjugator().conjugate('hablar','future','indicative','yo')
>>> hablaré

Indicative Present_Perfect

Conjugator().conjugate('hablar','present_perfect','indicative','yo')
>>> he hablado

Indicative Past_Anterior

Conjugator().conjugate('hablar','past_anterior','indicative','yo')
>>> hube hablado

Indicative Future_Perfect

Conjugator().conjugate('hablar','future_perfect','indicative','yo')
>>> habré hablado

Conditional Simple

Conjugator().conjugate('hablar','simple_conditional','conditional','yo')
>>> hablaría

Conditional Perfect

Conjugator().conjugate('hablar','perfect','conditional','yo')
>>> habría hablado

Imperative Afferative

Conjugator().conjugate('hablar','affirmative','imperative','tu')
>>> habla

Imperative Negative

Conjugator().conjugate('hablar','negative','imperative','tu')
>>> hables

Subjunctive Present

Conjugator().conjugate('hablar','present','subjunctive','yo')
>>> hable

Subjunctive Imperfect

Conjugator().conjugate('hablar','imperfect','subjunctive','yo')
>>> hablara

Subjunctive Imperfect_se

Conjugator().conjugate('hablar','imperfect_se','subjunctive','yo')
>>> hablase

Subjunctive Future

Conjugator().conjugate('hablar','future','subjunctive','yo')
>>> hablare

Developing

if you would like to help develop spanishconjugator, follow succeeding code

Whilst in command line create a folder in which you would like to work (name only reccommended)

$ mkdir spanish_conjugator_enviroment

change directory into the enviroment you have just made

$ cd spanish_conjugator_enviroment

install virtualenv

$ pip install virtualenv

create a virtual enviroment from path of python3

$ virtualenv -p $(which python3) my_venv

activate virtual enviroment

$ source my_venv/bin/activate

tip: once you want to disactivate your virtual enviroment simply run $ deactivate

Clone Spanish-Conjugator

$ git clone https://github.com/Benedict-Carling/spanish-conjugator.git

Install developer dependencies for unit test e.g pytest and for other library tools

pip install -e .[dev]

Developing - Testing

We have chosen to use the library pytest for our unit test At this point in the developing guide you can check the code works by running it against out current unit tests located in the /tests folder

$ pytest

output should show the different tenses implemented should pass their unit tests as below.(27/08/2020) alt text

Developing - Submission

To submit code to this repositry please fork and submit a pull request 🚀

Alternative Versions

Check out the Javascript npm version of the library if you are working in a node or browser enviroment

https://github.com/Benedict-Carling/spanish-conjugatorjs

Release files for spanishconjugator 2.3.9474

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spanishconjugator 2.3.9474
File Size Uploaded
spanishconjugator-2.3.9474.tar.gz 13.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spanishconjugator 2.3.9474
File Interpreter ABI Platform
spanishconjugator-2.3.9474-py3-none-any.whl Python 3 none any Details

Total release size: 32.9 kB

Release files / spanishconjugator-2.3.9474.tar.gz

Download URL spanishconjugator-2.3.9474.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4922f87c95fdda9864ce62d364b7214b96ab248d384a9098377edf2dc06a2acc
BLAKE2b-256 checksum
How to use checksums
c71b94341dc5c77e2e24b8838ee75ec5c6ef378e14a2a463a8be6547b90fc670
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.7

Release files / spanishconjugator-2.3.9474-py3-none-any.whl

Download URL spanishconjugator-2.3.9474-py3-none-any.whl
Size 19.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dcfd578cfe71d0742ae055b622fb41a9f25861859ded4abce20efc258f6fb129
BLAKE2b-256 checksum
How to use checksums
809bd85164511ac13a33542fac6f764c0ea53d99053ea89e8cb14242b6b01a2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

2.3.9474 This release

2 release files

2.3.99

2 release files

2.3.98

2 release files

2.3.97

2 release files

2.3.96

2 release files

2.3.95

2 release files

2.3.94

2 release files

2.3.93

2 release files

2.3.92

2 release files

2.3.91

2 release files

2.3.90

2 release files

2.3.89

2 release files

2.3.88

2 release files

2.3.87

2 release files

2.3.86

2 release files

2.3.85

2 release files

2.3.84

2 release files

2.3.83

2 release files

2.3.82

2 release files

2.3.81

2 release files

2.3.80

2 release files

2.3.79

2 release files

2.3.78

2 release files

2.3.77

2 release files

2.3.76

2 release files

2.3.75

2 release files

2.3.74

2 release files

2.3.73

2 release files

2.3.72

2 release files

2.3.71

2 release files

2.3.70

2 release files

2.3.69

2 release files

2.3.68

2 release files

2.3.67

2 release files

2.3.66

2 release files

2.3.65

2 release files

2.3.64

2 release files

2.3.63

2 release files

2.3.62

2 release files

2.3.61

2 release files

2.3.60

2 release files

2.3.59

2 release files

2.3.58

2 release files

2.3.57

2 release files

2.3.56

2 release files

2.3.55

2 release files

2.3.54

2 release files

2.3.53

2 release files

2.3.52

2 release files

2.3.51

2 release files

2.3.50

2 release files

2.3.49

2 release files

2.3.48

2 release files

2.3.47

2 release files

2.3.46

2 release files

2.3.45

2 release files

2.3.44

2 release files

2.3.43

2 release files

2.3.42

2 release files

2.3.41

2 release files

2.3.40

2 release files

2.3.39

2 release files

2.3.38

2 release files

2.3.37

2 release files

2.3.36

2 release files

2.3.35

2 release files

2.3.34

2 release files

2.3.33

2 release files

2.3.32

2 release files

2.3.31

2 release files

2.3.30

2 release files

2.3.29

2 release files

2.3.28

2 release files

2.3.27

2 release files

2.3.26

2 release files

2.3.25

2 release files

2.3.24

2 release files

2.3.23

2 release files

2.3.22

2 release files

2.3.21

2 release files

2.3.20

2 release files

2.3.19

2 release files

2.3.18

2 release files

2.3.17

2 release files

2.3.16

2 release files

2.3.15

2 release files

2.3.14

2 release files

2.3.13

2 release files

2.3.12

2 release files

2.3.11

2 release files

2.3.10

2 release files

2.3.9

2 release files

2.3.8

2 release files

2.3.7

2 release files

2.3.6

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

3 release files

2.3.0

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.19

2 release files

2.1.18

2 release files

2.1.17

2 release files

2.1.16

2 release files

2.1.15

2 release files

2.1.14

2 release files

2.1.13

2 release files

2.1.12

2 release files

2.1.11

2 release files

2.1.10

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page