Locale fr_CA

faker.providers.address

class faker.providers.address.fr_CA.Provider(*args: Any, **kwargs: Any)

Bases: Provider

address() str
Example:

‘791 Crist Parks, Sashabury, IL 86039-9874’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.address()
...
'48764 route Charron Apt. 824\nBaie-Mont--Boulanger, ON M6E 8C9'
'5938 allé Fréchette Suite 080\nLac- Martineau, YT V6N 2K4'
'87115 rue Gaudreault\nFortier, SK Y4N 9Y5'
'659 boulevard Martin\nSaint- Bernard -sur-Mer, QC V3C3C1'
'848 avenue Pauline Suite 947\nAuger, QC C8N6E4'
administrative_unit() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.administrative_unit()
...
'Nouvelle-Écosse'
'Yukon'
'Nouvelle-Écosse'
'Alberta'
'Terre-Neuve-et-Labrador'
building_number() str
Example:

‘791’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.building_number()
...
'6048'
'6475'
'382'
'2194'
'924'
city() str
Example:

‘Sashabury’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.city()
...
'Lac- Charles'
"L'Île- Florence"
'Mont- Émilie'
'Sainte- Hélène'
'Mont--Saint--St-Jean'
city_prefix() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.city_prefix()
...
'Lac-'
'Lac-'
'Ville'
'Mont-'
"L'Île-"
city_suffix() str
Example:

‘town’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.city_suffix()
...
'Ouest'
'Ouest'
'Est'
'Ouest'
'-sur-Mer'
country() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.country()
...
'Tanzania'
'Hungary'
'Senegal'
'Tuvalu'
'Italy'
country_code(representation: str = 'alpha-2') str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.country_code()
...
'MV'
'PS'
'NL'
'BB'
'IL'
current_country() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.current_country()
...
'Canada'
'Canada'
'Canada'
'Canada'
'Canada'
current_country_code() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.current_country_code()
...
'CA'
'CA'
'CA'
'CA'
'CA'
postal_code_letter() str

Returns a random letter from the list of allowable letters in a canadian postal code

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.postal_code_letter()
...
'R'
'S'
'B'
'L'
'X'
postalcode() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.postalcode()
...
'S9B8L7'
'V9P3J5'
'E3L 5Y2'
'N2V 6Y7'
'J8Y9V5'
postalcode_in_province(province_abbr: str | None = None) str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.postalcode_in_province()
...
'B8L7X5'
'X5X3G2'
'C2M6E8'
'M4S 9N8'
'X2Y7A1'
postcode() str

Returns a random postcode

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.postcode()
...
'S9B8L7'
'V9P3J5'
'E3L 5Y2'
'N2V 6Y7'
'J8Y9V5'
postcode_in_province(province_abbr: str | None = None) str

Returns a random postcode within the provided province abbreviation

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.postcode_in_province()
...
'B8L7X5'
'X5X3G2'
'C2M6E8'
'M4S 9N8'
'X2Y7A1'
province() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.province()
...
'Nouvelle-Écosse'
'Yukon'
'Nouvelle-Écosse'
'Alberta'
'Terre-Neuve-et-Labrador'
province_abbr() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.province_abbr()
...
'NS'
'YT'
'NS'
'AB'
'NL'
secondary_address() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.secondary_address()
...
'Suite 604'
'Suite 647'
'Suite 938'
'Apt. 421'
'Suite 892'
street_address() str
Example:

‘791 Crist Parks’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.street_address()
...
'0487 boulevard Duguay Suite 593'
'2194 boulevard Gilles'
'578 route Danielle'
'387 montée Ménard Apt. 801'
'097 avenue Dupont Suite 139'
street_name() str
Example:

‘Crist Parks’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.street_name()
...
'rang Ouellet'
'montée Rioux'
'boulevard Duguay'
'route Charron'
'montée Jonathan'
street_prefix() str
Example:

‘rue’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.street_prefix()
...
'rang'
'rang'
'rue'
'boulevard'
'montée'
street_suffix() str
Example:

‘Avenue’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.street_suffix()
...
'Vista'
'Lights'
'Trace'
'Manor'
'Canyon'

faker.providers.barcode

class faker.providers.barcode.fr_CA.Provider(generator: Any)

Bases: Provider

Implement bank provider for fr_CA locale.

There is no difference from the en_CA implementation.

ean(length: int = 13, prefixes: Tuple[int | str | Tuple[int | str, ...], ...] = ()) str

Generate an EAN barcode of the specified length.

The value of length can only be 8 or 13 (default) which will create an EAN-8 or an EAN-13 barcode respectively.

If a value for prefixes is specified, the result will begin with one of the sequences in prefixes.

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean(length=13)
...
'6604876475937'
'8242194892418'
'1578156593879'
'7840801609759'
'3513933287112'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean(length=8)
...
'66048763'
'47593824'
'42194897'
'24115780'
'15659385'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean(prefixes=('00', ))
...
'0004876475931'
'0019489241156'
'0056593877840'
'0016097535134'
'0087115871480'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean(prefixes=('45', '49'))
...
'4504876475932'
'4919489241155'
'4556593877841'
'4516097535135'
'4987115871489'
ean13(prefixes: Tuple[int | str | Tuple[int | str, ...], ...] = (), leading_zero: bool | None = None) str

Generate an EAN-13 barcode.

If leading_zero is True, the leftmost digit of the barcode will be set to 0. If False, the leftmost digit cannot be 0. If None (default), the leftmost digit can be any digit.

If a value for prefixes is specified, the result will begin with one of the sequences in prefixes and will ignore leading_zero.

This method uses the standard barcode provider’s ean13() under the hood with the prefixes argument set to the correct value to attain the behavior described above.

Note

EAN-13 barcode that starts with a zero can be converted to UPC-A by dropping the leading zero. This may cause problems with readers that treat all of these code as UPC-A codes and drop the first digit when reading it.

You can set the argument prefixes ( or leading_zero for convenience) explicitly to avoid or to force the generated barcode to start with a zero. You can also generate actual UPC-A barcode with EnUsBarcodeProvider.upc_a().

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean13()
...
'6604876475937'
'8242194892418'
'1578156593879'
'7840801609759'
'3513933287112'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean13(leading_zero=False)
...
'7048764759386'
'5194892411572'
'6593877840809'
'7975351393329'
'2587148418587'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean13(leading_zero=True)
...
'0604876475933'
'0219489241150'
'0156593877847'
'0016097535134'
'0287115871484'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean13(prefixes=('00', ))
...
'0004876475931'
'0019489241156'
'0056593877840'
'0016097535134'
'0087115871480'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean13(prefixes=('45', '49'))
...
'4504876475932'
'4919489241155'
'4556593877841'
'4516097535135'
'4987115871489'
ean8(prefixes: Tuple[int | str | Tuple[int | str, ...], ...] = ()) str

Generate an EAN-8 barcode.

This method uses ean() under the hood with the length argument explicitly set to 8.

If a value for prefixes is specified, the result will begin with one of the sequences in prefixes.

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean8()
...
'66048763'
'47593824'
'42194897'
'24115780'
'15659385'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean8(prefixes=('00', ))
...
'00048767'
'00938242'
'00489249'
'00781565'
'00877848'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.ean8(prefixes=('45', '49'))
...
'49048766'
'45938245'
'45489242'
'49781564'
'45877841'
localized_ean(length: int = 13) str

Generate a localized EAN barcode of the specified length.

The value of length can only be 8 or 13 (default) which will create an EAN-8 or an EAN-13 barcode respectively.

This method uses the standard barcode provider’s ean() under the hood with the prefixes argument explicitly set to local_prefixes of a localized barcode provider implementation.

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.localized_ean()
...
'0804876475937'
'7521948924119'
'7581565938777'
'0908016097536'
'0839332871152'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.localized_ean(length=13)
...
'0804876475937'
'7521948924119'
'7581565938777'
'0908016097536'
'0839332871152'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.localized_ean(length=8)
...
'75048761'
'06593827'
'06948924'
'07578151'
'06387785'
localized_ean13() str

Generate a localized EAN-13 barcode.

This method uses localized_ean() under the hood with the length argument explicitly set to 13.

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.localized_ean13()
...
'0804876475937'
'7521948924119'
'7581565938777'
'0908016097536'
'0839332871152'
localized_ean8() str

Generate a localized EAN-8 barcode.

This method uses localized_ean() under the hood with the length argument explicitly set to 8.

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.localized_ean8()
...
'75048761'
'06593827'
'06948924'
'07578151'
'06387785'
upc_a(upc_ae_mode: bool = False, base: str | None = None, number_system_digit: int | None = None) str

Generate a 12-digit UPC-A barcode.

The value of upc_ae_mode controls how barcodes will be generated. If False (default), barcodes are not guaranteed to have a UPC-E equivalent. In this mode, the method uses EnUsBarcodeProvider.ean13() under the hood, and the values of base and number_system_digit will be ignored.

If upc_ae_mode is True, the resulting barcodes are guaranteed to have a UPC-E equivalent, and the values of base and number_system_digit will be used to control what is generated.

Under this mode, base is expected to have a 6-digit string value. If any other value is supplied, a random 6-digit string will be used instead. As for number_system_digit, the expected value is a 0 or a 1. If any other value is provided, this method will randomly choose from the two.

Important

When upc_ae_mode is enabled, you might encounter instances where different values of base (e.g. '120003' and '120004') produce the same UPC-A barcode. This is normal, and the reason lies within the whole conversion process. To learn more about this and what base and number_system_digit actually represent, please refer to EnUsBarcodeProvider.upc_e().

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_a()
...
'604876475933'
'219489241150'
'156593877847'
'016097535134'
'287115871484'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_a(upc_ae_mode=True, number_system_digit=0)
...
'066048000075'
'064700000593'
'082421000098'
'048100009240'
'015781000057'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_a(upc_ae_mode=True, number_system_digit=1)
...
'166048000072'
'164700000590'
'182421000095'
'148100009247'
'115781000054'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_a(upc_ae_mode=True, base='123456', number_system_digit=0)
...
'012345000065'
'012345000065'
'012345000065'
'012345000065'
'012345000065'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_a(upc_ae_mode=True, base='120003', number_system_digit=0)
...
'012000000003'
'012000000003'
'012000000003'
'012000000003'
'012000000003'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_a(upc_ae_mode=True, base='120004', number_system_digit=0)
...
'012000000003'
'012000000003'
'012000000003'
'012000000003'
'012000000003'
upc_e(base: str | None = None, number_system_digit: int | None = None, safe_mode: bool = True) str

Generate an 8-digit UPC-E barcode.

UPC-E barcodes can be expressed in 6, 7, or 8-digit formats, but this method uses the 8 digit format, since it is trivial to convert to the other two formats. The first digit (starting from the left) is controlled by number_system_digit, and it can only be a 0 or a 1. The last digit is the check digit that is inherited from the UPC-E barcode’s UPC-A equivalent. The middle six digits are collectively referred to as the base (for a lack of a better term).

On that note, this method uses base and number_system_digit to first generate a UPC-A barcode for the check digit, and what happens next depends on the value of safe_mode. The argument safe_mode exists, because there are some UPC-E values that share the same UPC-A equivalent. For example, any UPC-E barcode of the form abc0000d, abc0003d, and abc0004d share the same UPC-A value abc00000000d, but that UPC-A value will only convert to abc0000d because of (a) how UPC-E is just a zero-suppressed version of UPC-A and (b) the rules around the conversion.

If safe_mode is True (default), this method performs another set of conversions to guarantee that the UPC-E barcodes generated can be converted to UPC-A, and that UPC-A barcode can be converted back to the original UPC-E barcode. Using the example above, even if the bases 120003 or 120004 are used, the resulting UPC-E barcode will always use the base 120000.

If safe_mode is False, then the number_system_digit, base, and the computed check digit will just be concatenated together to produce the UPC-E barcode, and attempting to convert the barcode to UPC-A and back again to UPC-E will exhibit the behavior described above.

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e()
...
'16604872'
'04759386'
'04219484'
'04115786'
'15659385'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='123456')
...
'11234562'
'11234562'
'01234565'
'11234562'
'11234562'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='123456', number_system_digit=0)
...
'01234565'
'01234565'
'01234565'
'01234565'
'01234565'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='123456', number_system_digit=1)
...
'11234562'
'11234562'
'11234562'
'11234562'
'11234562'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='120000', number_system_digit=0)
...
'01200003'
'01200003'
'01200003'
'01200003'
'01200003'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='120003', number_system_digit=0)
...
'01200003'
'01200003'
'01200003'
'01200003'
'01200003'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='120004', number_system_digit=0)
...
'01200003'
'01200003'
'01200003'
'01200003'
'01200003'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='120000', number_system_digit=0, safe_mode=False)
...
'01200003'
'01200003'
'01200003'
'01200003'
'01200003'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='120003', number_system_digit=0, safe_mode=False)
...
'01200033'
'01200033'
'01200033'
'01200033'
'01200033'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.upc_e(base='120004', number_system_digit=0, safe_mode=False)
...
'01200043'
'01200043'
'01200043'
'01200043'
'01200043'

faker.providers.currency

class faker.providers.currency.fr_CA.Provider(generator: Any)

Bases: Provider

cryptocurrency() Tuple[str, str]
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.cryptocurrency()
...
('XRP', 'Ripple')
('STC', 'SwiftCoin')
('BC', 'BlackCoin')
('NXT', 'Nxt')
('IOTA', 'IOTA')
cryptocurrency_code() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.cryptocurrency_code()
...
'XRP'
'STC'
'BC'
'NXT'
'IOTA'
cryptocurrency_name() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.cryptocurrency_name()
...
'Ripple'
'SwiftCoin'
'BlackCoin'
'Nxt'
'IOTA'
currency() Tuple[str, str]
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.currency()
...
('MWK', 'Malawian kwacha')
('NZD', 'New Zealand dollar')
('BAM', 'Bosnia and Herzegovina convertible mark')
('IRR', 'Iranian rial')
('SPL', 'Seborga luigino')
currency_code() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.currency_code()
...
'MWK'
'NZD'
'BAM'
'IRR'
'SPL'
currency_name() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.currency_name()
...
'Malawian kwacha'
'New Zealand dollar'
'Bosnia and Herzegovina convertible mark'
'Iranian rial'
'Seborga luigino'
currency_symbol(code: str | None = None) str
Example:

$

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.currency_symbol()
...
'$'
'$'
'KM'
'kr'
'L'
pricetag() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.pricetag()
...
'7.604,87\xa0$'
'975,93\xa0$'
'54,21\xa0$'
'89.241,15\xa0$'
'91.565,93\xa0$'

faker.providers.date_time

class faker.providers.date_time.fr_CA.Provider(*args: Any, **kwargs: Any)

Bases: Provider

am_pm() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.am_pm()
...
'AM'
'AM'
'PM'
'PM'
'PM'
century() str
Example:

‘XVII’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.century()
...
'XIII'
'XIV'
'II'
'IX'
'XVII'
date(pattern: str = '%Y-%m-%d', end_datetime: date | datetime | timedelta | str | int | None = None) str

Get a date string between January 1, 1970 and now.

Parameters:

pattern – Format of the date (year-month-day by default)

Example:

‘2008-11-27’

Returns:

Date

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date()
...
'2015-10-12'
'2011-02-03'
'1992-10-19'
'1984-01-14'
'1997-09-19'
date_between(start_date: date | datetime | timedelta | str | int = '-30y', end_date: date | datetime | timedelta | str | int = 'today') date

Get a Date object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime().

Parameters:
  • start_date – Defaults to 30 years ago

  • end_date – Defaults to “today”

Example:

Date(‘1999-02-02’)

Returns:

Date

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_between()
...
datetime.date(2019, 7, 18)
datetime.date(2016, 12, 12)
datetime.date(2006, 10, 29)
datetime.date(2001, 12, 23)
datetime.date(2009, 7, 19)
date_between_dates(date_start: date | datetime | timedelta | str | int | None = None, date_end: date | datetime | timedelta | str | int | None = None) date

Takes two Date objects and returns a random date between the two given dates. Accepts Date or datetime objects

Parameters:
  • date_start – Date

  • date_end – Date

Returns:

Date

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_between_dates()
...
datetime.date(2024, 3, 18)
datetime.date(2024, 3, 18)
datetime.date(2024, 3, 18)
datetime.date(2024, 3, 18)
datetime.date(2024, 3, 18)
date_object(end_datetime: datetime | None = None) date

Get a date object between January 1, 1970 and now

Example:

datetime.date(2016, 9, 20)

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_object()
...
datetime.date(2015, 10, 12)
datetime.date(2011, 2, 3)
datetime.date(1992, 10, 19)
datetime.date(1984, 1, 14)
datetime.date(1997, 9, 19)
date_of_birth(tzinfo: tzinfo | None = None, minimum_age: int = 0, maximum_age: int = 115) date

Generate a random date of birth represented as a Date object, constrained by optional miminimum_age and maximum_age parameters.

Parameters:
  • tzinfo – Defaults to None.

  • minimum_age – Defaults to 0.

  • maximum_age – Defaults to 115.

Example:

Date(‘1979-02-02’)

Returns:

Date

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_of_birth()
...
datetime.date(2006, 3, 1)
datetime.date(1996, 2, 18)
datetime.date(1956, 12, 30)
datetime.date(1938, 3, 31)
datetime.date(1967, 7, 9)
date_this_century(before_today: bool = True, after_today: bool = False) date

Gets a Date object for the current century.

Parameters:
  • before_today – include days in current century before today

  • after_today – include days in current century after today

Example:

Date(‘2012-04-04’)

Returns:

Date

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_this_century()
...
datetime.date(2020, 6, 11)
datetime.date(2018, 5, 8)
datetime.date(2010, 3, 8)
datetime.date(2006, 4, 8)
datetime.date(2012, 5, 18)
date_this_decade(before_today: bool = True, after_today: bool = False) date

Gets a Date object for the decade year.

Parameters:
  • before_today – include days in current decade before today

  • after_today – include days in current decade after today

Example:

Date(‘2012-04-04’)

Returns:

Date

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_this_decade()
...
datetime.date(2023, 7, 22)
datetime.date(2023, 3, 11)
datetime.date(2021, 10, 8)
datetime.date(2021, 2, 2)
datetime.date(2022, 2, 25)
date_this_month(before_today: bool = True, after_today: bool = False) date

Gets a Date object for the current month.

Parameters:
  • before_today – include days in current month before today

  • after_today – include days in current month after today

Example:

dtdate(‘2012-04-04’)

Returns:

dtdate

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_this_month()
...
datetime.date(2024, 3, 15)
datetime.date(2024, 3, 13)
datetime.date(2024, 3, 8)
datetime.date(2024, 3, 5)
datetime.date(2024, 3, 9)
date_this_year(before_today: bool = True, after_today: bool = False) date

Gets a Date object for the current year.

Parameters:
  • before_today – include days in current year before today

  • after_today – include days in current year after today

Example:

Date(‘2012-04-04’)

Returns:

Date

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_this_year()
...
datetime.date(2024, 3, 6)
datetime.date(2024, 2, 28)
datetime.date(2024, 2, 2)
datetime.date(2024, 1, 20)
datetime.date(2024, 2, 9)
date_time(tzinfo: tzinfo | None = None, end_datetime: date | datetime | timedelta | str | int | None = None) datetime

Get a datetime object for a date between January 1, 1970 and now

Parameters:

tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘2005-08-16 20:39:21’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time()
...
datetime.datetime(2015, 10, 12, 6, 37, 47, 457130)
datetime.datetime(2011, 2, 3, 3, 31, 12, 110210)
datetime.datetime(1992, 10, 19, 16, 15, 52, 196502)
datetime.datetime(1984, 1, 14, 18, 33, 52, 221703)
datetime.datetime(1997, 9, 19, 16, 15, 44, 74977)
date_time_ad(tzinfo: tzinfo | None = None, end_datetime: date | datetime | timedelta | str | int | None = None, start_datetime: date | datetime | timedelta | str | int | None = None) datetime

Get a datetime object for a date between January 1, 001 and now

Parameters:

tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘1265-03-22 21:15:52’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time_ad()
...
datetime.datetime(1709, 6, 12, 9, 12, 42, 926987)
datetime.datetime(1534, 7, 4, 3, 37, 25, 993576)
datetime.datetime(851, 11, 27, 18, 38, 44, 240494)
datetime.datetime(524, 11, 4, 20, 40, 33, 191559)
datetime.datetime(1035, 6, 3, 0, 41, 25, 67181)
date_time_between(start_date: date | datetime | timedelta | str | int = '-30y', end_date: date | datetime | timedelta | str | int = 'now', tzinfo: tzinfo | None = None) datetime

Get a datetime object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime().

Parameters:
  • start_date – Defaults to 30 years ago

  • end_date – Defaults to “now”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘1999-02-02 11:42:52’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time_between()
...
datetime.datetime(2019, 7, 19, 3, 44, 39, 236214)
datetime.datetime(2016, 12, 13, 17, 9, 25, 808743)
datetime.datetime(2006, 10, 30, 22, 39, 6, 361449)
datetime.datetime(2001, 12, 24, 15, 49, 42, 49189)
datetime.datetime(2009, 7, 20, 19, 6, 38, 171082)
date_time_between_dates(datetime_start: date | datetime | timedelta | str | int | None = None, datetime_end: date | datetime | timedelta | str | int | None = None, tzinfo: tzinfo | None = None) datetime

Takes two datetime objects and returns a random datetime between the two given datetimes. Accepts datetime objects.

Parameters:
  • datetime_start – datetime

  • datetime_end – datetime

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘1999-02-02 11:42:52’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time_between_dates()
...
datetime.datetime(2024, 3, 18, 20, 33, 56)
datetime.datetime(2024, 3, 18, 20, 33, 56)
datetime.datetime(2024, 3, 18, 20, 33, 56)
datetime.datetime(2024, 3, 18, 20, 33, 56)
datetime.datetime(2024, 3, 18, 20, 33, 56)
date_time_this_century(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) datetime

Gets a datetime object for the current century.

Parameters:
  • before_now – include days in current century before today

  • after_now – include days in current century after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘2012-04-04 11:02:02’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time_this_century()
...
datetime.datetime(2020, 6, 11, 22, 42, 15, 830510)
datetime.datetime(2018, 5, 9, 5, 45, 59, 753551)
datetime.datetime(2010, 3, 8, 11, 23, 49, 311969)
datetime.datetime(2006, 4, 8, 19, 44, 40, 253959)
datetime.datetime(2012, 5, 18, 15, 22, 16, 731080)
date_time_this_decade(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) datetime

Gets a datetime object for the decade year.

Parameters:
  • before_now – include days in current decade before today

  • after_now – include days in current decade after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘2012-04-04 11:02:02’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time_this_decade()
...
datetime.datetime(2023, 7, 23, 10, 39, 55, 396773)
datetime.datetime(2023, 3, 12, 9, 12, 2, 428973)
datetime.datetime(2021, 10, 9, 4, 47, 14, 927420)
datetime.datetime(2021, 2, 2, 10, 27, 35, 473055)
datetime.datetime(2022, 2, 25, 18, 41, 13, 789840)
date_time_this_month(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) datetime

Gets a datetime object for the current month.

Parameters:
  • before_now – include days in current month before today

  • after_now – include days in current month after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘2012-04-04 11:02:02’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time_this_month()
...
datetime.datetime(2024, 3, 16, 1, 53, 24, 431720)
datetime.datetime(2024, 3, 14, 12, 49, 59, 339215)
datetime.datetime(2024, 3, 8, 12, 14, 32, 975483)
datetime.datetime(2024, 3, 5, 14, 57, 46, 83355)
datetime.datetime(2024, 3, 10, 3, 6, 53, 46017)
date_time_this_year(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) datetime

Gets a datetime object for the current year.

Parameters:
  • before_now – include days in current year before today

  • after_now – include days in current year after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘2012-04-04 11:02:02’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.date_time_this_year()
...
datetime.datetime(2024, 3, 6, 17, 51, 27, 310025)
datetime.datetime(2024, 2, 29, 0, 17, 14, 964057)
datetime.datetime(2024, 2, 2, 17, 51, 56, 50510)
datetime.datetime(2024, 1, 21, 3, 48, 10, 516874)
datetime.datetime(2024, 2, 9, 19, 21, 1, 201592)
day_of_month() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.day_of_month()
...
'12'
'03'
'19'
'14'
'19'
day_of_week() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.day_of_week()
...
'lundi'
'jeudi'
'lundi'
'samedi'
'vendredi'
future_date(end_date: date | datetime | timedelta | str | int = '+30d', tzinfo: tzinfo | None = None) date

Get a Date object based on a random date between 1 day from now and a given date. Accepts date strings that can be recognized by strtotime().

Parameters:
  • end_date – Defaults to “+30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

dtdate(‘2030-01-01’)

Returns:

dtdate

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.future_date()
...
datetime.date(2024, 4, 12)
datetime.date(2024, 4, 9)
datetime.date(2024, 3, 31)
datetime.date(2024, 3, 26)
datetime.date(2024, 4, 2)
future_datetime(end_date: date | datetime | timedelta | str | int = '+30d', tzinfo: tzinfo | None = None) datetime

Get a datetime object based on a random date between 1 second form now and a given date. Accepts date strings that can be recognized by strtotime().

Parameters:
  • end_date – Defaults to “+30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘1999-02-02 11:42:52’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.future_datetime()
...
datetime.datetime(2024, 4, 13, 4, 32, 57, 594731)
datetime.datetime(2024, 4, 10, 14, 17, 34, 54467)
datetime.datetime(2024, 3, 31, 11, 22, 38, 116942)
datetime.datetime(2024, 3, 26, 14, 59, 8, 957843)
datetime.datetime(2024, 4, 3, 4, 41, 0, 566513)
iso8601(tzinfo: tzinfo | None = None, end_datetime: date | datetime | timedelta | str | int | None = None, sep: str = 'T', timespec: str = 'auto') str

Get a timestamp in ISO 8601 format (or one of its profiles).

Parameters:
  • tzinfo – timezone, instance of datetime.tzinfo subclass

  • sep – separator between date and time, defaults to ‘T’

  • timespec – format specifier for the time part, defaults to ‘auto’ - see datetime.isoformat() documentation

Example:

‘2003-10-21T16:05:52+0000’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.iso8601()
...
'2015-10-12T06:37:47.457130'
'2011-02-03T03:31:12.110210'
'1992-10-19T16:15:52.196502'
'1984-01-14T18:33:52.221703'
'1997-09-19T16:15:44.074977'
month() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.month()
...
'10'
'02'
'10'
'01'
'09'
month_name() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.month_name()
...
'Octobre'
'Février'
'Octobre'
'Janvier'
'Septembre'
past_date(start_date: date | datetime | timedelta | str | int = '-30d', tzinfo: tzinfo | None = None) date

Get a Date object based on a random date between a given date and 1 day ago. Accepts date strings that can be recognized by strtotime().

Parameters:
  • start_date – Defaults to “-30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

dtdate(‘1999-02-02’)

Returns:

dtdate

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.past_date()
...
datetime.date(2024, 3, 12)
datetime.date(2024, 3, 9)
datetime.date(2024, 2, 29)
datetime.date(2024, 2, 24)
datetime.date(2024, 3, 2)
past_datetime(start_date: date | datetime | timedelta | str | int = '-30d', tzinfo: tzinfo | None = None) datetime

Get a datetime object based on a random date between a given date and 1 second ago. Accepts date strings that can be recognized by strtotime().

Parameters:
  • start_date – Defaults to “-30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example:

datetime(‘1999-02-02 11:42:52’)

Returns:

datetime

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.past_datetime()
...
datetime.datetime(2024, 3, 14, 4, 32, 56, 594731)
datetime.datetime(2024, 3, 11, 14, 17, 33, 54467)
datetime.datetime(2024, 3, 1, 11, 22, 37, 116942)
datetime.datetime(2024, 2, 25, 14, 59, 7, 957843)
datetime.datetime(2024, 3, 4, 4, 40, 59, 566513)
pytimezone(*args: Any, **kwargs: Any) tzinfo | None

Generate a random timezone (see faker.timezone for any args) and return as a python object usable as a tzinfo to datetime or other fakers.

Example:

faker.pytimezone()

Returns:

dateutil.tz.tz.tzfile

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.pytimezone()
...
tzfile('/usr/share/zoneinfo/Indian/Maldives')
tzfile('/usr/share/zoneinfo/America/Barbados')
tzfile('/usr/share/zoneinfo/Europe/Stockholm')
tzfile('/usr/share/zoneinfo/Africa/Windhoek')
tzfile('/usr/share/zoneinfo/Asia/Qatar')
time(pattern: str = '%H:%M:%S', end_datetime: date | datetime | timedelta | str | int | None = None) str

Get a time string (24h format by default)

Parameters:

pattern – format

Example:

‘15:02:34’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.time()
...
'06:37:47'
'03:31:12'
'16:15:52'
'18:33:52'
'16:15:44'
time_delta(end_datetime: date | datetime | timedelta | str | int | None = None) timedelta

Get a timedelta object

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.time_delta()
...
datetime.timedelta(0)
datetime.timedelta(0)
datetime.timedelta(0)
datetime.timedelta(0)
datetime.timedelta(0)
time_object(end_datetime: date | datetime | timedelta | str | int | None = None) time

Get a time object

Example:

datetime.time(15, 56, 56, 772876)

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.time_object()
...
datetime.time(6, 37, 47, 457130)
datetime.time(3, 31, 12, 110210)
datetime.time(16, 15, 52, 196502)
datetime.time(18, 33, 52, 221703)
datetime.time(16, 15, 44, 74977)
time_series(start_date: date | datetime | timedelta | str | int = '-30d', end_date: date | datetime | timedelta | str | int = 'now', precision: float | None = None, distrib: Callable[[datetime], float] | None = None, tzinfo: tzinfo | None = None) Iterator[Tuple[datetime, Any]]

Returns a generator yielding tuples of (<datetime>, <value>).

The data points will start at start_date, and be at every time interval specified by precision. distrib is a callable that accepts <datetime> and returns <value>

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.time_series()
...
<generator object Provider.time_series at 0x7f6cfd6eca50>
<generator object Provider.time_series at 0x7f6cfd6eca50>
<generator object Provider.time_series at 0x7f6cfd6eca50>
<generator object Provider.time_series at 0x7f6cfd6eca50>
<generator object Provider.time_series at 0x7f6cfd6eca50>
timezone() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.timezone()
...
'Indian/Maldives'
'America/Barbados'
'Europe/Stockholm'
'Africa/Windhoek'
'Asia/Qatar'
unix_time(end_datetime: date | datetime | timedelta | str | int | None = None, start_datetime: date | datetime | timedelta | str | int | None = None) float

Get a timestamp between January 1, 1970 and now, unless passed explicit start_datetime or end_datetime values.

On Windows, the decimal part is always 0.

Example:

1061306726.6

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.unix_time()
...
1444631867.4571297
1296703872.1102104
719511352.1965016
442953232.22170293
874685744.0749772
year() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.year()
...
'2015'
'2011'
'1992'
'1984'
'1997'

faker.providers.person

class faker.providers.person.fr_CA.Provider(generator: Any)

Bases: Provider

first_name() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.first_name()
...
'Céline'
'Claude'
'Charles'
'Roland'
'Henriette'
first_name_female() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.first_name_female()
...
'Virginie'
'Geneviève'
'Rosalie'
'Isabelle'
'Anaïs'
first_name_male() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.first_name_male()
...
'Maurice'
'Noël'
'Arthur'
'Jean'
'Roger'
first_name_nonbinary() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.first_name_nonbinary()
...
'Céline'
'Claude'
'Charles'
'Roland'
'Henriette'
language_name() str

Generate a random i18n language name (e.g. English).

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.language_name()
...
'Luba-Katanga'
'Malay'
'Aymara'
'Interlingue'
'Quechua'
last_name() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.last_name()
...
'Brisson'
'Jean'
'Plourde'
'Germain'
'Moreau'
last_name_female() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.last_name_female()
...
'Brisson'
'Jean'
'Plourde'
'Germain'
'Moreau'
last_name_male() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.last_name_male()
...
'Brisson'
'Jean'
'Plourde'
'Germain'
'Moreau'
last_name_nonbinary() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.last_name_nonbinary()
...
'Brisson'
'Jean'
'Plourde'
'Germain'
'Moreau'
name() str
Example:

‘John Doe’

Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.name()
...
'Rosalie Germain'
'Anaïs Ménard'
'Henriette-Sophie Maltais'
'Juliette Boivin'
'Robert Martel-Champagne'
name_female() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.name_female()
...
'Rosalie Germain-Moreau'
'Denise Duguay'
'Henriette-Sophie Maltais'
'Juliette Boivin'
'Laurence Martel'
name_male() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.name_male()
...
'Noël Ouellet-Ménard'
'Nathan-Julien Duguay'
'Maxime-Victor Larivière'
'Robert Martel'
'Éric St-Jean'
name_nonbinary() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.name_nonbinary()
...
'Rosalie Germain'
'Anaïs Ménard'
'Henriette-Sophie Maltais'
'Juliette Boivin'
'Robert Martel-Champagne'
prefix() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.prefix()
...
''
''
''
''
''
prefix_female() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.prefix_female()
...
''
''
''
''
''
prefix_male() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.prefix_male()
...
''
''
''
''
''
prefix_nonbinary() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.prefix_nonbinary()
...
''
''
''
''
''
suffix() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.suffix()
...
''
''
''
''
''
suffix_female() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.suffix_female()
...
''
''
''
''
''
suffix_male() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.suffix_male()
...
''
''
''
''
''
suffix_nonbinary() str
Examples:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.suffix_nonbinary()
...
''
''
''
''
''