investfly-sdk 1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. investfly/__init__.py +0 -0
  2. investfly/api/InvestflyApiClient.py +23 -0
  3. investfly/api/MarketDataApiClient.py +16 -0
  4. investfly/api/PortfolioApiClient.py +37 -0
  5. investfly/api/RestApiClient.py +81 -0
  6. investfly/api/__init__.py +0 -0
  7. investfly/cli/CliApiClient.py +46 -0
  8. investfly/cli/__init__.py +0 -0
  9. investfly/cli/commands.py +78 -0
  10. investfly/models/CommonModels.py +70 -0
  11. investfly/models/Indicator.py +164 -0
  12. investfly/models/MarketData.py +177 -0
  13. investfly/models/MarketDataIds.py +119 -0
  14. investfly/models/ModelUtils.py +34 -0
  15. investfly/models/PortfolioModels.py +270 -0
  16. investfly/models/SecurityFilterModels.py +167 -0
  17. investfly/models/SecurityUniverseSelector.py +202 -0
  18. investfly/models/StrategyModels.py +124 -0
  19. investfly/models/TradingStrategy.py +59 -0
  20. investfly/models/__init__.py +10 -0
  21. investfly/samples/__init__.py +0 -0
  22. investfly/samples/indicators/IndicatorTemplate.py +80 -0
  23. investfly/samples/indicators/NewsSentiment.py +41 -0
  24. investfly/samples/indicators/RsiOfSma.py +42 -0
  25. investfly/samples/indicators/SmaEmaAverage.py +40 -0
  26. investfly/samples/indicators/__init__.py +0 -0
  27. investfly/samples/strategies/SmaCrossOverStrategy.py +35 -0
  28. investfly/samples/strategies/SmaCrossOverTemplate.py +131 -0
  29. investfly/samples/strategies/__init__.py +0 -0
  30. investfly/utils/CommonUtils.py +79 -0
  31. investfly/utils/PercentBasedPortfolioAllocator.py +35 -0
  32. investfly/utils/__init__.py +2 -0
  33. investfly_sdk-1.0.dist-info/LICENSE.txt +21 -0
  34. investfly_sdk-1.0.dist-info/METADATA +53 -0
  35. investfly_sdk-1.0.dist-info/RECORD +38 -0
  36. investfly_sdk-1.0.dist-info/WHEEL +5 -0
  37. investfly_sdk-1.0.dist-info/entry_points.txt +2 -0
  38. investfly_sdk-1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,41 @@
1
+ from datetime import datetime
2
+ from typing import Dict, Any, List
3
+
4
+ from investfly.api.InvestflyApiClient import InvestflyApiClient
5
+ from investfly.models import *
6
+
7
+
8
+ # Note wildcard "*" imports are not allowed in restricted environment
9
+
10
+ class NewsSentiment:
11
+
12
+
13
+
14
+ POSITIVE = "abounds,abundance,abundant,accessable,accessible,acclaim,acclaimed,acclamation,accolade,accolades,accommodative,accomodative,accomplish,accomplished,accomplishment,accomplishments,accurate,accurately,achievable,achievement,achievements,achievible,acumen,adaptable,adaptive,adequate,adjustable,admirable,admirably,admiration,admire,admirer,admiring,admiringly,adorable,adore,adored,adorer,adoring,adoringly,adroit,adroitly,adulate,adulation,adulatory,advanced,advantage,advantageous,advantageously,advantages,adventuresome,adventurous,advocate,advocated,advocates,affability,affable,affably,affectation,affection,affectionate,affinity,affirm,affirmation,affirmative,affluence,affluent,afford,affordable,affordably,afordable,agile,agilely,agility,agreeable,agreeableness,agreeably,all-around,alluring,alluringly,altruistic,altruistically,amaze,amazed,amazement,amazes,amazing,amazingly,ambitious,ambitiously,ameliorate,amenable,amenity,amiability,amiabily,amiable,amicability,amicable,amicably,amity,ample,amply,amuse,amusing,amusingly,angel,angelic,apotheosis,appeal,appealing,applaud,appreciable,appreciate,appreciated,appreciates,appreciative,appreciatively,appropriate,approval,approve,ardent,ardently,ardor,articulate,aspiration,aspirations,aspire,assurance,assurances,assure,assuredly,assuring,astonish,astonished,astonishing,astonishingly,astonishment,astound,astounded,astounding,astoundingly,astutely,attentive,attraction,attractive,attractively,attune,audible,audibly,auspicious,authentic,authoritative,autonomous,available,aver,avid,avidly,award,awarded,awards,awe,awed,awesome,awesomely,awesomeness,awestruck,awsome,backbone,balanced,bargain,beauteous,beautiful,beautifullly,beautifully,beautify,beauty,beckon,beckoned,beckoning,beckons,believable,believeable,beloved,benefactor,beneficent,beneficial,beneficially,beneficiary,benefit,benefits,benevolence,benevolent,benifits,best,best-known,best-performing,best-selling,better,better-known,better-than-expected,beutifully,blameless,bless,blessing,bliss,blissful,blissfully,blithe,blockbuster,bloom,blossom,bolster,bonny,bonus,bonuses,boom,booming,boost,boundless,bountiful,brainiest,brainy,brand-new,brave,bravery,bravo,breakthrough,breakthroughs,breathlessness,breathtaking,breathtakingly,breeze,bright,brighten,brighter,brightest,brilliance,brilliances,brilliant,brilliantly,brisk,brotherly,bullish,buoyant,cajole,calm,calming,calmness,capability,capable,capably,captivate,captivating,carefree,cashback,cashbacks,catchy,celebrate,celebrated,celebration,celebratory,champ,champion,charisma,charismatic,charitable,charm,charming,charmingly,chaste,cheaper,cheapest,cheer,cheerful,cheery,cherish,cherished,cherub,chic,chivalrous,chivalry,civility,civilize,clarity,classic,classy,clean,cleaner,cleanest,cleanliness,cleanly,clear,clear-cut,cleared,clearer,clearly,clears,clever,cleverly,cohere,coherence,coherent,cohesive,colorful,comely,comfort,comfortable,comfortably,comforting,comfy,commend,commendable,commendably,commitment,commodious,compact,compactly,compassion,compassionate,compatible,competitive,complement,complementary,complemented,complements,compliant,compliment,complimentary,comprehensive,conciliate,conciliatory,concise,confidence,confident,congenial,congratulate,congratulation,congratulations,congratulatory,conscientious,considerate,consistent,consistently,constructive,consummate,contentment,continuity,contrasty,contribution,convenience,convenient,conveniently,convience,convienient,convient,convincing,convincingly,cool,coolest,cooperative,cooperatively,cornerstone,correct,correctly,cost-effective,cost-saving,counter-attack,counter-attacks,courage,courageous,courageously,courageousness,courteous,courtly,covenant,cozy,creative,credence,credible,crisp,crisper,cure,cure-all,cushy,cute,cuteness,danke,danken,daring,daringly,darling,dashing,dauntless,dawn,dazzle,dazzled,dazzling,dead-cheap,dead-on,decency,decent,decisive,decisiveness,dedicated,defeat,defeated,defeating,defeats,defender,deference,deft,deginified,delectable,delicacy,delicate,delicious,delight,delighted,delightful,delightfully,delightfulness,dependable,dependably,deservedly,deserving,desirable,desiring,desirous,destiny,detachable,devout,dexterous,dexterously,dextrous,dignified,dignify,dignity,diligence,diligent,diligently,diplomatic,dirt-cheap,distinction,distinctive,distinguished,diversified,divine,divinely,dominate,dominated,dominates,dote,dotingly,doubtless,dreamland,dumbfounded,dumbfounding,dummy-proof,durable,dynamic,eager,eagerly,eagerness,earnest,earnestly,earnestness,ease,eased,eases,easier,easiest,easiness,easing,easy,easy-to-use,easygoing,ebullience,ebullient,ebulliently,ecenomical,economical,ecstasies,ecstasy,ecstatic,ecstatically,edify,educated,effective,effectively,effectiveness,effectual,efficacious,efficient,efficiently,effortless,effortlessly,effusion,effusive,effusively,effusiveness,elan,elate,elated,elatedly,elation,electrify,elegance,elegant,elegantly,elevate,elite,eloquence,eloquent,eloquently,embolden,eminence,eminent,empathize,empathy,empower,empowerment,enchant,enchanted,enchanting,enchantingly,encourage,encouragement,encouraging,encouragingly,endear,endearing,endorse,endorsed,endorsement,endorses,endorsing,energetic,energize,energy-efficient,energy-saving,engaging,engrossing,enhance,enhanced,enhancement,enhances,enjoy,enjoyable,enjoyably,enjoyed,enjoying,enjoyment,enjoys,enlighten,enlightenment,enliven,ennoble,enough,enrapt,enrapture,enraptured,enrich,enrichment,enterprising,entertain,entertaining,entertains,enthral,enthrall,enthralled,enthuse,enthusiasm,enthusiast,enthusiastic,enthusiastically,entice,enticed,enticing,enticingly,entranced,entrancing,entrust,enviable,enviably,envious,enviously,enviousness,envy,equitable,ergonomical,err-free,erudite,ethical,eulogize,euphoria,euphoric,euphorically,evaluative,evenly,eventful,everlasting,evocative,exalt,exaltation,exalted,exaltedly,exalting,exaltingly,examplar,examplary,excallent,exceed,exceeded,exceeding,exceedingly,exceeds,excel,exceled,excelent,excellant,excelled,excellence,excellency,excellent,excellently,excels,exceptional,exceptionally,excite,excited,excitedly,excitedness,excitement,excites,exciting,excitingly,exellent,exemplar,exemplary,exhilarate,exhilarating,exhilaratingly,exhilaration,exonerate,expansive,expeditiously,expertly,exquisite,exquisitely,extol,extoll,extraordinarily,extraordinary,exuberance,exuberant,exuberantly,exult,exultant,exultation,exultingly,eye-catch,eye-catching,eyecatch,eyecatching,fabulous,fabulously,facilitate,fair,fairly,fairness,faith,faithful,faithfully,faithfulness,fame,famed,famous,famously,fancier,fancinating,fancy,fanfare,fans,fantastic,fantastically,fascinate,fascinating,fascinatingly,fascination,fashionable,fashionably,fast,fast-growing,fast-paced,faster,fastest,fastest-growing,faultless,fav,fave,favor,favorable,favored,favorite,favorited,favour,fearless,fearlessly,feasible,feasibly,feat,feature-rich,fecilitous,feisty,felicitate,felicitous,felicity,fertile,fervent,fervently,fervid,fervidly,fervor,festive,fidelity,fiery,fine,fine-looking,finely,finer,finest,firmer,first-class,first-in-class,first-rate,flashy,flatter,flattering,flatteringly,flawless,flawlessly,flexibility,flexible,flourish,flourishing,fluent,flutter,fond,fondly,fondness,foolproof,foremost,foresight,formidable,fortitude,fortuitous,fortuitously,fortunate,fortunately,fortune,fragrant,free,freed,freedom,freedoms,fresh,fresher,freshest,friendliness,friendly,frolic,frugal,fruitful,ftw,fulfillment,fun,futurestic,futuristic,gaiety,gaily,gain,gained,gainful,gainfully,gaining,gains,gallant,gallantly,galore,geekier,geeky,gem,gems,generosity,generous,generously,genial,genius,gentle,gentlest,genuine,gifted,glad,gladden,gladly,gladness,glamorous,glee,gleeful,gleefully,glimmer,glimmering,glisten,glistening,glitter,glitz,glorify,glorious,gloriously,glory,glow,glowing,glowingly,god-given,god-send,godlike,godsend,gold,golden,good,goodly,goodness,goodwill,goood,gooood,gorgeous,gorgeously,grace,graceful,gracefully,gracious,graciously,graciousness,grand,grandeur,grateful,gratefully,gratification,gratified,gratifies,gratify,gratifying,gratifyingly,gratitude,great,greatest,greatness,grin,groundbreaking,guarantee,guidance,guiltless,gumption,gush,gusto,gutsy,hail,halcyon,hale,hallmark,hallmarks,hallowed,handier,handily,hands-down,handsome,handsomely,handy,happier,happily,happiness,happy,hard-working,hardier,hardy,harmless,harmonious,harmoniously,harmonize,harmony,headway,heal,healthful,healthy,hearten,heartening,heartfelt,heartily,heartwarming,heaven,heavenly,helped,helpful,helping,hero,heroic,heroically,heroine,heroize,heros,high-quality,high-spirited,hilarious,holy,homage,honest,honesty,honor,honorable,honored,honoring,hooray,hopeful,hospitable,hot,hotcake,hotcakes,hottest,hug,humane,humble,humility,humor,humorous,humorously,humour,humourous,ideal,idealize,ideally,idol,idolize,idolized,idyllic,illuminate,illuminati,illuminating,illumine,illustrious,ilu,imaculate,imaginative,immaculate,immaculately,immense,impartial,impartiality,impartially,impassioned,impeccable,impeccably,important,impress,impressed,impresses,impressive,impressively,impressiveness,improve,improved,improvement,improvements,improves,improving,incredible,incredibly,indebted,individualized,indulgence,indulgent,industrious,inestimable,inestimably,inexpensive,infallibility,infallible,infallibly,influential,ingenious,ingeniously,ingenuity,ingenuous,ingenuously,innocuous,innovation,innovative,inpressed,insightful,insightfully,inspiration,inspirational,inspire,inspiring,instantly,instructive,instrumental,integral,integrated,intelligence,intelligent,intelligible,interesting,interests,intimacy,intimate,intricate,intrigue,intriguing,intriguingly,intuitive,invaluable,invaluablely,inventive,invigorate,invigorating,invincibility,invincible,inviolable,inviolate,invulnerable,irreplaceable,irreproachable,irresistible,irresistibly,issue-free,jaw-droping,jaw-dropping,jollify,jolly,jovial,joy,joyful,joyfully,joyous,joyously,jubilant,jubilantly,jubilate,jubilation,jubiliant,judicious,justly,keen,keenly,keenness,kid-friendly,kindliness,kindly,kindness,knowledgeable,kudos,large-capacity,laud,laudable,laudably,lavish,lavishly,law-abiding,lawful,lawfully,lead,leading,leads,lean,led,legendary,leverage,levity,liberate,liberation,liberty,lifesaver,light-hearted,lighter,likable,like,liked,likes,liking,lionhearted,lively,logical,long-lasting,lovable,lovably,love,loved,loveliness,lovely,lover,loves,loving,low-cost,low-price,low-priced,low-risk,lower-priced,loyal,loyalty,lucid,lucidly,luck,luckier,luckiest,luckiness,lucky,lucrative,luminous,lush,luster,lustrous,luxuriant,luxuriate,luxurious,luxuriously,luxury,lyrical,magic,magical,magnanimous,magnanimously,magnificence,magnificent,magnificently,majestic,majesty,manageable,maneuverable,marvel,marveled,marvelled,marvellous,marvelous,marvelously,marvelousness,marvels,master,masterful,masterfully,masterpiece,masterpieces,masters,mastery,matchless,mature,maturely,maturity,meaningful,memorable,merciful,mercifully,mercy,merit,meritorious,merrily,merriment,merriness,merry,mesmerize,mesmerized,mesmerizes,mesmerizing,mesmerizingly,meticulous,meticulously,mightily,mighty,mind-blowing,miracle,miracles,miraculous,miraculously,miraculousness,modern,modest,modesty,momentous,monumental,monumentally,morality,motivated,multi-purpose,navigable,neat,neatest,neatly,nice,nicely,nicer,nicest,nifty,nimble,noble,nobly,noiseless,non-violence,non-violent,notably,noteworthy,nourish,nourishing,nourishment,novelty,nurturing,oasis,obsession,obsessions,obtainable,openly,openness,optimal,optimism,optimistic,opulent,orderly,originality,outdo,outdone,outperform,outperformed,outperforming,outperforms,outshine,outshone,outsmart,outstanding,outstandingly,outstrip,outwit,ovation,overjoyed,overtake,overtaken,overtakes,overtaking,overtook,overture,pain-free,painless,painlessly,palatial,pamper,pampered,pamperedly,pamperedness,pampers,panoramic,paradise,paramount,pardon,passion,passionate,passionately,patience,patient,patiently,patriot,patriotic,peace,peaceable,peaceful,peacefully,peacekeepers,peach,peerless,pep,pepped,pepping,peppy,peps,perfect,perfection,perfectly,permissible,perseverance,persevere,personages,personalized,phenomenal,phenomenally,picturesque,piety,pinnacle,playful,playfully,pleasant,pleasantly,pleased,pleases,pleasing,pleasingly,pleasurable,pleasurably,pleasure,plentiful,pluses,plush,plusses,poetic,poeticize,poignant,poise,poised,polished,polite,politeness,popular,portable,posh,positive,positively,positives,powerful,powerfully,praise,praiseworthy,praising,pre-eminent,precious,precise,precisely,preeminent,prefer,preferable,preferably,prefered,preferes,preferring,prefers,premier,prestige,prestigious,prettily,pretty,priceless,pride,principled,privilege,privileged,prize,proactive,problem-free,problem-solver,prodigious,prodigiously,prodigy,productive,productively,proficient,proficiently,profound,profoundly,profuse,profusion,progress,progressive,prolific,prominence,prominent,promise,promised,promises,promising,promoter,prompt,promptly,proper,properly,propitious,propitiously,pros,prosper,prosperity,prosperous,prospros,protect,protection,protective,proud,proven,proves,providence,proving,prowess,prudence,prudent,prudently,punctual,pure,purify,purposeful,quaint,qualified,qualify,quicker,quiet,quieter,radiance,radiant,rapid,rapport,rapt,rapture,raptureous,raptureously,rapturous,rapturously,rational,razor-sharp,reachable,readable,readily,ready,reaffirm,reaffirmation,realistic,realizable,reasonable,reasonably,reasoned,reassurance,reassure,receptive,reclaim,recomend,recommend,recommendation,recommendations,recommended,reconcile,reconciliation,record-setting,recover,recovery,rectification,rectify,rectifying,redeem,redeeming,redemption,refine,refined,refinement,reform,reformed,reforming,reforms,refresh,refreshed,refreshing,refund,refunded,regal,regally,regard,rejoice,rejoicing,rejoicingly,rejuvenate,rejuvenated,rejuvenating,relaxed,relent,reliable,reliably,relief,relish,remarkable,remarkably,remedy,remission,remunerate,renaissance,renewed,renown,renowned,replaceable,reputable,reputation,resilient,resolute,resound,resounding,resourceful,resourcefulness,respect,respectable,respectful,respectfully,respite,resplendent,responsibly,responsive,restful,restored,restructure,restructured,restructuring,retractable,revel,revelation,revere,reverence,reverent,reverently,revitalize,revival,revive,revives,revolutionary,revolutionize,revolutionized,revolutionizes,reward,rewarding,rewardingly,rich,richer,richly,richness,right,righten,righteous,righteously,righteousness,rightful,rightfully,rightly,rightness,risk-free,robust,rock-star,rock-stars,rockstar,rockstars,romantic,romantically,romanticize,roomier,roomy,rosy,safe,safely,sagacity,sagely,saint,saintliness,saintly,salutary,salute,sane,satisfactorily,satisfactory,satisfied,satisfies,satisfy,satisfying,satisified,saver,savings,savior,savvy,scenic,seamless,seasoned,secure,securely,selective,self-determination,self-respect,self-satisfaction,self-sufficiency,self-sufficient,sensation,sensational,sensationally,sensations,sensible,sensibly,sensitive,serene,serenity,sexy,sharp,sharper,sharpest,shimmering,shimmeringly,shine,shiny,significant,silent,simpler,simplest,simplified,simplifies,simplify,simplifying,sincere,sincerely,sincerity,skill,skilled,skillful,skillfully,slammin,sleek,slick,smart,smarter,smartest,smartly,smile,smiles,smiling,smilingly,smitten,smooth,smoother,smoothes,smoothest,smoothly,snappy,snazzy,sociable,soft,softer,solace,solicitous,solicitously,solid,solidarity,soothe,soothingly,sophisticated,soulful,soundly,soundness,spacious,sparkle,sparkling,spectacular,spectacularly,speedily,speedy,spellbind,spellbinding,spellbindingly,spellbound,spirited,spiritual,splendid,splendidly,splendor,spontaneous,sporty,spotless,sprightly,stability,stabilize,stable,stainless,standout,state-of-the-art,stately,statuesque,staunch,staunchly,staunchness,steadfast,steadfastly,steadfastness,steadiest,steadiness,steady,stellar,stellarly,stimulate,stimulates,stimulating,stimulative,stirringly,straighten,straightforward,streamlined,striking,strikingly,striving,strong,stronger,strongest,stunned,stunning,stunningly,stupendous,stupendously,sturdier,sturdy,stylish,stylishly,stylized,suave,suavely,sublime,subsidize,subsidized,subsidizes,subsidizing,substantive,succeed,succeeded,succeeding,succeeds,succes,success,successes,successful,successfully,suffice,sufficed,suffices,sufficient,sufficiently,suitable,sumptuous,sumptuously,sumptuousness,super,superb,superbly,superior,superiority,supple,support,supported,supporter,supporting,supportive,supports,supremacy,supreme,supremely,supurb,supurbly,surmount,surpass,surreal,survival,survivor,sustainability,sustainable,swank,swankier,swankiest,swanky,sweeping,sweet,sweeten,sweetheart,sweetly,sweetness,swift,swiftness,talent,talented,talents,tantalize,tantalizing,tantalizingly,tempt,tempting,temptingly,tenacious,tenaciously,tenacity,tender,tenderly,terrific,terrifically,thank,thankful,thinner,thoughtful,thoughtfully,thoughtfulness,thrift,thrifty,thrill,thrilled,thrilling,thrillingly,thrills,thrive,thriving,thumb-up,thumbs-up,tickle,tidy,time-honored,timely,tingle,titillate,titillating,titillatingly,togetherness,tolerable,toll-free,top,top-notch,top-quality,topnotch,tops,tough,tougher,toughest,traction,tranquil,tranquility,transparent,treasure,tremendously,trendy,triumph,triumphal,triumphant,triumphantly,trivially,trophy,trouble-free,trump,trumpet,trust,trusted,trusting,trustingly,trustworthiness,trustworthy,trusty,truthful,truthfully,truthfulness,twinkly,ultra-crisp,unabashed,unabashedly,unaffected,unassailable,unbeatable,unbiased,unbound,uncomplicated,unconditional,undamaged,undaunted,understandable,undisputable,undisputably,undisputed,unencumbered,unequivocal,unequivocally,unfazed,unfettered,unforgettable,unity,unlimited,unmatched,unparalleled,unquestionable,unquestionably,unreal,unrestricted,unrivaled,unselfish,unwavering,upbeat,upgradable,upgradeable,upgraded,upheld,uphold,uplift,uplifting,upliftingly,upliftment,upscale,usable,useable,useful,user-friendly,user-replaceable,valiant,valiantly,valor,valuable,variety,venerate,verifiable,veritable,versatile,versatility,vibrant,vibrantly,victorious,victory,viewable,vigilance,vigilant,virtue,virtuous,virtuously,visionary,vivacious,vivid,vouch,vouchsafe,warm,warmer,warmhearted,warmly,warmth,wealthy,welcome,well,well-backlit,well-balanced,well-behaved,well-being,well-bred,well-connected,well-educated,well-established,well-informed,well-intentioned,well-known,well-made,well-managed,well-mannered,well-positioned,well-received,well-regarded,well-rounded,well-run,well-wishers,wellbeing,whoa,wholeheartedly,wholesome,whooa,whoooa,wieldy,willing,willingly,willingness,win,windfall,winnable,winner,winners,winning,wins,wisdom,wise,wisely,witty,won,wonder,wonderful,wonderfully,wonderous,wonderously,wonders,wondrous,woo,work,workable,worked,works,world-famous,worth,worth-while,worthiness,worthwhile,worthy,wow,wowed,wowing,wows,yay,youthful,zeal,zenith,zest,zippy"
15
+ NEGATIVE = "abnormal,abolish,abominable,abominably,abominate,abomination,abort,aborted,aborts,abrade,abrasive,abrupt,abruptly,abscond,absence,absent-minded,absentee,absurd,absurdity,absurdly,absurdness,abuse,abused,abuses,abusive,abysmal,abysmally,abyss,accidental,accost,accursed,accusation,accusations,accuse,accuses,accusing,accusingly,acerbate,acerbic,acerbically,ache,ached,aches,achey,aching,acrid,acridly,acridness,acrimonious,acrimoniously,acrimony,adamant,adamantly,addict,addicted,addicting,addicts,admonish,admonisher,admonishingly,admonishment,admonition,adulterate,adulterated,adulteration,adulterier,adversarial,adversary,adverse,adversity,afflict,affliction,afflictive,affront,afraid,aggravate,aggravating,aggravation,aggression,aggressive,aggressiveness,aggressor,aggrieve,aggrieved,aggrivation,aghast,agonies,agonize,agonizing,agonizingly,agony,aground,ail,ailing,ailment,aimless,alarm,alarmed,alarming,alarmingly,alienate,alienated,alienation,allegation,allegations,allege,allergic,allergies,allergy,aloof,altercation,ambiguity,ambiguous,ambivalence,ambivalent,ambush,amiss,amputate,anarchism,anarchist,anarchistic,anarchy,anemic,anger,angrily,angriness,angry,anguish,animosity,annihilate,annihilation,annoy,annoyance,annoyances,annoyed,annoying,annoyingly,annoys,anomalous,anomaly,antagonism,antagonist,antagonistic,antagonize,anti-,anti-american,anti-israeli,anti-occupation,anti-proliferation,anti-semites,anti-social,anti-us,anti-white,antipathy,antiquated,antithetical,anxieties,anxiety,anxious,anxiously,anxiousness,apathetic,apathetically,apathy,apocalypse,apocalyptic,apologist,apologists,appal,appall,appalled,appalling,appallingly,apprehension,apprehensions,apprehensive,apprehensively,arbitrary,arcane,archaic,arduous,arduously,argumentative,arrogance,arrogant,arrogantly,ashamed,asinine,asininely,asinininity,askance,asperse,aspersion,aspersions,assail,assassin,assassinate,assault,assult,astray,asunder,atrocious,atrocities,atrocity,atrophy,attack,attacks,audacious,audaciously,audaciousness,audacity,audiciously,austere,authoritarian,autocrat,autocratic,avalanche,avarice,avaricious,avariciously,avenge,averse,aversion,aweful,awful,awfully,awfulness,awkward,awkwardness,ax,babble,back-logged,back-wood,back-woods,backache,backaches,backaching,backbite,backbiting,backward,backwardness,backwood,backwoods,bad,badly,baffle,baffled,bafflement,baffling,bait,balk,banal,banalize,bane,banish,banishment,bankrupt,barbarian,barbaric,barbarically,barbarity,barbarous,barbarously,barren,baseless,bash,bashed,bashful,bashing,bastard,bastards,battered,battering,batty,bearish,beastly,bedlam,bedlamite,befoul,beg,beggar,beggarly,begging,beguile,belabor,belated,beleaguer,belie,belittle,belittled,belittling,bellicose,belligerence,belligerent,belligerently,bemoan,bemoaning,bemused,bent,berate,bereave,bereavement,bereft,berserk,beseech,beset,besiege,besmirch,bestial,betray,betrayal,betrayals,betrayer,betraying,betrays,bewail,beware,bewilder,bewildered,bewildering,bewilderingly,bewilderment,bewitch,bias,biased,biases,bicker,bickering,bid-rigging,bigotries,bigotry,bitch,bitchy,biting,bitingly,bitter,bitterly,bitterness,bizarre,blab,blabber,blackmail,blah,blame,blameworthy,bland,blandish,blaspheme,blasphemous,blasphemy,blasted,blatant,blatantly,blather,bleak,bleakly,bleakness,bleed,bleeding,bleeds,blemish,blind,blinding,blindingly,blindside,blister,blistering,bloated,blockage,blockhead,bloodshed,bloodthirsty,bloody,blotchy,blow,blunder,blundering,blunders,blunt,blur,bluring,blurred,blurring,blurry,blurs,blurt,boastful,boggle,bogus,boil,boiling,boisterous,bomb,bombard,bombardment,bombastic,bondage,bonkers,bore,bored,boredom,bores,boring,botch,bother,bothered,bothering,bothers,bothersome,bowdlerize,boycott,braggart,bragger,brainless,brainwash,brash,brashly,brashness,brat,bravado,brazen,brazenly,brazenness,breach,break,break-up,break-ups,breakdown,breaking,breaks,breakup,breakups,bribery,brimstone,bristle,brittle,broke,broken,broken-hearted,brood,browbeat,bruise,bruised,bruises,bruising,brusque,brutal,brutalising,brutalities,brutality,brutalize,brutalizing,brutally,brute,brutish,bs,buckle,bug,bugging,buggy,bugs,bulkier,bulkiness,bulky,bulkyness,bull****,bull----,bullies,bullshit,bullshyt,bully,bullying,bullyingly,bum,bump,bumped,bumping,bumpping,bumps,bumpy,bungle,bungler,bungling,bunk,burden,burdensome,burdensomely,burn,burned,burning,burns,bust,busts,busybody,butcher,butchery,buzzing,byzantine,cackle,calamities,calamitous,calamitously,calamity,callous,calumniate,calumniation,calumnies,calumnious,calumniously,calumny,cancer,cancerous,cannibal,cannibalize,capitulate,capricious,capriciously,capriciousness,capsize,careless,carelessness,caricature,carnage,carp,cartoonish,cash-strapped,castigate,castrated,casualty,cataclysm,cataclysmal,cataclysmic,cataclysmically,catastrophe,catastrophes,catastrophic,catastrophically,catastrophies,caustic,caustically,cautionary,cave,censure,chafe,chaff,chagrin,challenging,chaos,chaotic,chasten,chastise,chastisement,chatter,chatterbox,cheap,cheapen,cheaply,cheat,cheated,cheater,cheating,cheats,checkered,cheerless,cheesy,chide,childish,chill,chilly,chintzy,choke,choleric,choppy,chore,chronic,chunky,clamor,clamorous,clash,cliche,cliched,clique,clog,clogged,clogs,cloud,clouding,cloudy,clueless,clumsy,clunky,coarse,cocky,coerce,coercion,coercive,cold,coldly,collapse,collude,collusion,combative,combust,comical,commiserate,commonplace,commotion,commotions,complacent,complain,complained,complaining,complains,complaint,complaints,complex,complicated,complication,complicit,compulsion,compulsive,concede,conceded,conceit,conceited,concen,concens,concern,concerned,concerns,concession,concessions,condemn,condemnable,condemnation,condemned,condemns,condescend,condescending,condescendingly,condescension,confess,confession,confessions,confined,conflict,conflicted,conflicting,conflicts,confound,confounded,confounding,confront,confrontation,confrontational,confuse,confused,confuses,confusing,confusion,confusions,congested,congestion,cons,conscons,conservative,conspicuous,conspicuously,conspiracies,conspiracy,conspirator,conspiratorial,conspire,consternation,contagious,contaminate,contaminated,contaminates,contaminating,contamination,contempt,contemptible,contemptuous,contemptuously,contend,contention,contentious,contort,contortions,contradict,contradiction,contradictory,contrariness,contravene,contrive,contrived,controversial,controversy,convoluted,corrode,corrosion,corrosions,corrosive,corrupt,corrupted,corrupting,corruption,corrupts,corruptted,costlier,costly,counter-productive,counterproductive,coupists,covetous,coward,cowardly,crabby,crack,cracked,cracks,craftily,craftly,crafty,cramp,cramped,cramping,cranky,crap,crappy,craps,crash,crashed,crashes,crashing,crass,craven,cravenly,craze,crazily,craziness,crazy,creak,creaking,creaks,credulous,creep,creeping,creeps,creepy,crept,crime,criminal,cringe,cringed,cringes,cripple,crippled,cripples,crippling,crisis,critic,critical,criticism,criticisms,criticize,criticized,criticizing,critics,cronyism,crook,crooked,crooks,crowded,crowdedness,crude,cruel,crueler,cruelest,cruelly,cruelness,cruelties,cruelty,crumble,crumbling,crummy,crumple,crumpled,crumples,crush,crushed,crushing,cry,culpable,culprit,cumbersome,cunt,cunts,cuplrit,curse,cursed,curses,curt,cuss,cussed,cutthroat,cynical,cynicism,d*mn,damage,damaged,damages,damaging,damn,damnable,damnably,damnation,damned,damning,damper,danger,dangerous,dangerousness,dark,darken,darkened,darker,darkness,dastard,dastardly,daunt,daunting,dauntingly,dawdle,daze,dazed,dead,deadbeat,deadlock,deadly,deadweight,deaf,dearth,death,debacle,debase,debasement,debaser,debatable,debauch,debaucher,debauchery,debilitate,debilitating,debility,debt,debts,decadence,decadent,decay,decayed,deceit,deceitful,deceitfully,deceitfulness,deceive,deceiver,deceivers,deceiving,deception,deceptive,deceptively,declaim,decline,declines,declining,decrement,decrepit,decrepitude,decry,defamation,defamations,defamatory,defame,defect,defective,defects,defensive,defiance,defiant,defiantly,deficiencies,deficiency,deficient,defile,defiler,deform,deformed,defrauding,defunct,defy,degenerate,degenerately,degeneration,degradation,degrade,degrading,degradingly,dehumanization,dehumanize,deign,deject,dejected,dejectedly,dejection,delay,delayed,delaying,delays,delinquency,delinquent,delirious,delirium,delude,deluded,deluge,delusion,delusional,delusions,demean,demeaning,demise,demolish,demolisher,demon,demonic,demonize,demonized,demonizes,demonizing,demoralize,demoralizing,demoralizingly,denial,denied,denies,denigrate,denounce,dense,dent,dented,dents,denunciate,denunciation,denunciations,deny,denying,deplete,deplorable,deplorably,deplore,deploring,deploringly,deprave,depraved,depravedly,deprecate,depress,depressed,depressing,depressingly,depression,depressions,deprive,deprived,deride,derision,derisive,derisively,derisiveness,derogatory,desecrate,desert,desertion,desiccate,desiccated,desititute,desolate,desolately,desolation,despair,despairing,despairingly,desperate,desperately,desperation,despicable,despicably,despise,despised,despoil,despoiler,despondence,despondency,despondent,despondently,despot,despotic,despotism,destabilisation,destains,destitute,destitution,destroy,destroyer,destruction,destructive,desultory,deter,deteriorate,deteriorating,deterioration,deterrent,detest,detestable,detestably,detested,detesting,detests,detract,detracted,detracting,detraction,detracts,detriment,detrimental,devastate,devastated,devastates,devastating,devastatingly,devastation,deviate,deviation,devil,devilish,devilishly,devilment,devilry,devious,deviously,deviousness,devoid,diabolic,diabolical,diabolically,diametrically,diappointed,diatribe,diatribes,dick,dictator,dictatorial,die,die-hard,died,dies,difficult,difficulties,difficulty,diffidence,dilapidated,dilemma,dilly-dally,dim,dimmer,din,ding,dings,dinky,dire,direly,direness,dirt,dirtbag,dirtbags,dirts,dirty,disable,disabled,disaccord,disadvantage,disadvantaged,disadvantageous,disadvantages,disaffect,disaffected,disaffirm,disagree,disagreeable,disagreeably,disagreed,disagreeing,disagreement,disagrees,disallow,disapointed,disapointing,disapointment,disappoint,disappointed,disappointing,disappointingly,disappointment,disappointments,disappoints,disapprobation,disapproval,disapprove,disapproving,disarm,disarray,disaster,disasterous,disastrous,disastrously,disavow,disavowal,disbelief,disbelieve,disbeliever,disclaim,discombobulate,discomfit,discomfititure,discomfort,discompose,disconcert,disconcerted,disconcerting,disconcertingly,disconsolate,disconsolately,disconsolation,discontent,discontented,discontentedly,discontinued,discontinuity,discontinuous,discord,discordance,discordant,discountenance,discourage,discouragement,discouraging,discouragingly,discourteous,discourteously,discoutinous,discredit,discrepant,discriminate,discrimination,discriminatory,disdain,disdained,disdainful,disdainfully,disfavor,disgrace,disgraced,disgraceful,disgracefully,disgruntle,disgruntled,disgust,disgusted,disgustedly,disgustful,disgustfully,disgusting,disgustingly,dishearten,disheartening,dishearteningly,dishonest,dishonestly,dishonesty,dishonor,dishonorable,dishonorablely,disillusion,disillusioned,disillusionment,disillusions,disinclination,disinclined,disingenuous,disingenuously,disintegrate,disintegrated,disintegrates,disintegration,disinterest,disinterested,dislike,disliked,dislikes,disliking,dislocated,disloyal,disloyalty,dismal,dismally,dismalness,dismay,dismayed,dismaying,dismayingly,dismissive,dismissively,disobedience,disobedient,disobey,disoobedient,disorder,disordered,disorderly,disorganized,disorient,disoriented,disown,disparage,disparaging,disparagingly,dispensable,dispirit,dispirited,dispiritedly,dispiriting,displace,displaced,displease,displeased,displeasing,displeasure,disproportionate,disprove,disputable,dispute,disputed,disquiet,disquieting,disquietingly,disquietude,disregard,disregardful,disreputable,disrepute,disrespect,disrespectable,disrespectablity,disrespectful,disrespectfully,disrespectfulness,disrespecting,disrupt,disruption,disruptive,diss,dissapointed,dissappointed,dissappointing,dissatisfaction,dissatisfactory,dissatisfied,dissatisfies,dissatisfy,dissatisfying,dissed,dissemble,dissembler,dissension,dissent,dissenter,dissention,disservice,disses,dissidence,dissident,dissidents,dissing,dissocial,dissolute,dissolution,dissonance,dissonant,dissonantly,dissuade,dissuasive,distains,distaste,distasteful,distastefully,distort,distorted,distortion,distorts,distract,distracting,distraction,distraught,distraughtly,distraughtness,distress,distressed,distressing,distressingly,distrust,distrustful,distrusting,disturb,disturbance,disturbed,disturbing,disturbingly,disunity,disvalue,divergent,divisive,divisively,divisiveness,dizzing,dizzingly,dizzy,doddering,dodgey,dogged,doggedly,dogmatic,doldrums,domineer,domineering,donside,doom,doomed,doomsday,dope,doubt,doubtful,doubtfully,doubts,douchbag,douchebag,douchebags,downbeat,downcast,downer,downfall,downfallen,downgrade,downhearted,downheartedly,downhill,downside,downsides,downturn,downturns,drab,draconian,draconic,drag,dragged,dragging,dragoon,drags,drain,drained,draining,drains,drastic,drastically,drawback,drawbacks,dread,dreadful,dreadfully,dreadfulness,dreary,dripped,dripping,drippy,drips,drones,droop,droops,drop-out,drop-outs,dropout,dropouts,drought,drowning,drunk,drunkard,drunken,dubious,dubiously,dubitable,dud,dull,dullard,dumb,dumbfound,dump,dumped,dumping,dumps,dunce,dungeon,dungeons,dupe,dust,dusty,dwindling,dying,earsplitting,eccentric,eccentricity,effigy,effrontery,egocentric,egomania,egotism,egotistical,egotistically,egregious,egregiously,election-rigger,elimination,emaciated,emasculate,embarrass,embarrassing,embarrassingly,embarrassment,embattled,embroil,embroiled,embroilment,emergency,emphatic,emphatically,emptiness,encroach,encroachment,endanger,enemies,enemy,enervate,enfeeble,enflame,engulf,enjoin,enmity,enrage,enraged,enraging,enslave,entangle,entanglement,entrap,entrapment,envious,enviously,enviousness,epidemic,equivocal,erase,erode,erodes,erosion,err,errant,erratic,erratically,erroneous,erroneously,error,errors,eruptions,escapade,eschew,estranged,evade,evasion,evasive,evil,evildoer,evils,eviscerate,exacerbate,exagerate,exagerated,exagerates,exaggerate,exaggeration,exasperate,exasperated,exasperating,exasperatingly,exasperation,excessive,excessively,exclusion,excoriate,excruciating,excruciatingly,excuse,excuses,execrate,exhaust,exhausted,exhaustion,exhausts,exhorbitant,exhort,exile,exorbitant,exorbitantance,exorbitantly,expel,expensive,expire,expired,explode,exploit,exploitation,explosive,expropriate,expropriation,expulse,expunge,exterminate,extermination,extinguish,extort,extortion,extraneous,extravagance,extravagant,extravagantly,extremism,extremist,extremists,eyesore,f**k,fabricate,fabrication,facetious,facetiously,fail,failed,failing,fails,failure,failures,faint,fainthearted,faithless,fake,fall,fallacies,fallacious,fallaciously,fallaciousness,fallacy,fallen,falling,fallout,falls,false,falsehood,falsely,falsify,falter,faltered,famine,famished,fanatic,fanatical,fanatically,fanaticism,fanatics,fanciful,far-fetched,farce,farcical,farcical-yet-provocative,farcically,farfetched,fascism,fascist,fastidious,fastidiously,fastuous,fat,fat-cat,fat-cats,fatal,fatalistic,fatalistically,fatally,fatcat,fatcats,fateful,fatefully,fathomless,fatigue,fatigued,fatique,fatty,fatuity,fatuous,fatuously,fault,faults,faulty,fawningly,faze,fear,fearful,fearfully,fears,fearsome,feckless,feeble,feeblely,feebleminded,feign,feint,fell,felon,felonious,ferociously,ferocity,fetid,fever,feverish,fevers,fiasco,fib,fibber,fickle,fiction,fictional,fictitious,fidget,fidgety,fiend,fiendish,fierce,figurehead,filth,filthy,finagle,finicky,fissures,fist,flabbergast,flabbergasted,flagging,flagrant,flagrantly,flair,flairs,flak,flake,flakey,flakieness,flaking,flaky,flare,flares,flareup,flareups,flat-out,flaunt,flaw,flawed,flaws,flee,fleed,fleeing,fleer,flees,fleeting,flicering,flicker,flickering,flickers,flighty,flimflam,flimsy,flirt,flirty,floored,flounder,floundering,flout,fluster,foe,fool,fooled,foolhardy,foolish,foolishly,foolishness,forbid,forbidden,forbidding,forceful,foreboding,forebodingly,forfeit,forged,forgetful,forgetfully,forgetfulness,forlorn,forlornly,forsake,forsaken,forswear,foul,foully,foulness,fractious,fractiously,fracture,fragile,fragmented,frail,frantic,frantically,franticly,fraud,fraudulent,fraught,frazzle,frazzled,freak,freaking,freakish,freakishly,freaks,freeze,freezes,freezing,frenetic,frenetically,frenzied,frenzy,fret,fretful,frets,friction,frictions,fried,friggin,frigging,fright,frighten,frightening,frighteningly,frightful,frightfully,frigid,frost,frown,froze,frozen,fruitless,fruitlessly,frustrate,frustrated,frustrates,frustrating,frustratingly,frustration,frustrations,fuck,fucking,fudge,fugitive,full-blown,fulminate,fumble,fume,fumes,fundamentalism,funky,funnily,funny,furious,furiously,furor,fury,fuss,fussy,fustigate,fusty,futile,futilely,futility,fuzzy,gabble,gaff,gaffe,gainsay,gainsayer,gall,galling,gallingly,galls,gangster,gape,garbage,garish,gasp,gauche,gaudy,gawk,gawky,geezer,genocide,get-rich,ghastly,ghetto,ghosting,gibber,gibberish,gibe,giddy,gimmick,gimmicked,gimmicking,gimmicks,gimmicky,glare,glaringly,glib,glibly,glitch,glitches,gloatingly,gloom,gloomy,glower,glum,glut,gnawing,goad,goading,god-awful,goof,goofy,goon,gossip,graceless,gracelessly,graft,grainy,grapple,grate,grating,gravely,greasy,greed,greedy,grief,grievance,grievances,grieve,grieving,grievous,grievously,grim,grimace,grind,gripe,gripes,grisly,gritty,gross,grossly,grotesque,grouch,grouchy,groundless,grouse,growl,grudge,grudges,grudging,grudgingly,gruesome,gruesomely,gruff,grumble,grumpier,grumpiest,grumpily,grumpish,grumpy,guile,guilt,guiltily,guilty,gullible,gutless,gutter,hack,hacks,haggard,haggle,hairloss,halfhearted,halfheartedly,hallucinate,hallucination,hamper,hampered,handicapped,hang,hangs,haphazard,hapless,harangue,harass,harassed,harasses,harassment,harboring,harbors,hard,hard-hit,hard-line,hard-liner,hardball,harden,hardened,hardheaded,hardhearted,hardliner,hardliners,hardship,hardships,harm,harmed,harmful,harms,harpy,harridan,harried,harrow,harsh,harshly,hasseling,hassle,hassled,hassles,haste,hastily,hasty,hate,hated,hateful,hatefully,hatefulness,hater,haters,hates,hating,hatred,haughtily,haughty,haunt,haunting,havoc,hawkish,haywire,hazard,hazardous,haze,hazy,head-aches,headache,headaches,heartbreaker,heartbreaking,heartbreakingly,heartless,heathen,heavy-handed,heavyhearted,heck,heckle,heckled,heckles,hectic,hedge,hedonistic,heedless,hefty,hegemonism,hegemonistic,hegemony,heinous,hell,hell-bent,hellion,hells,helpless,helplessly,helplessness,heresy,heretic,heretical,hesitant,hestitant,hideous,hideously,hideousness,high-priced,hiliarious,hinder,hindrance,hiss,hissed,hissing,ho-hum,hoard,hoax,hobble,hogs,hollow,hoodium,hoodwink,hooligan,hopeless,hopelessly,hopelessness,horde,horrendous,horrendously,horrible,horrid,horrific,horrified,horrifies,horrify,horrifying,horrifys,hostage,hostile,hostilities,hostility,hotbeds,hothead,hotheaded,hothouse,hubris,huckster,hum,humid,humiliate,humiliating,humiliation,humming,hung,hurt,hurted,hurtful,hurting,hurts,hustler,hype,hypocricy,hypocrisy,hypocrite,hypocrites,hypocritical,hypocritically,hysteria,hysteric,hysterical,hysterically,hysterics,idiocies,idiocy,idiot,idiotic,idiotically,idiots,idle,ignoble,ignominious,ignominiously,ignominy,ignorance,ignorant,ignore,ill-advised,ill-conceived,ill-defined,ill-designed,ill-fated,ill-favored,ill-formed,ill-mannered,ill-natured,ill-sorted,ill-tempered,ill-treated,ill-treatment,ill-usage,ill-used,illegal,illegally,illegitimate,illicit,illiterate,illness,illogic,illogical,illogically,illusion,illusions,illusory,imaginary,imbalance,imbecile,imbroglio,immaterial,immature,imminence,imminently,immobilized,immoderate,immoderately,immodest,immoral,immorality,immorally,immovable,impair,impaired,impasse,impatience,impatient,impatiently,impeach,impedance,impede,impediment,impending,impenitent,imperfect,imperfection,imperfections,imperfectly,imperialist,imperil,imperious,imperiously,impermissible,impersonal,impertinent,impetuous,impetuously,impiety,impinge,impious,implacable,implausible,implausibly,implicate,implication,implode,impolite,impolitely,impolitic,importunate,importune,impose,imposers,imposing,imposition,impossible,impossiblity,impossibly,impotent,impoverish,impoverished,impractical,imprecate,imprecise,imprecisely,imprecision,imprison,imprisonment,improbability,improbable,improbably,improper,improperly,impropriety,imprudence,imprudent,impudence,impudent,impudently,impugn,impulsive,impulsively,impunity,impure,impurity,inability,inaccuracies,inaccuracy,inaccurate,inaccurately,inaction,inactive,inadequacy,inadequate,inadequately,inadverent,inadverently,inadvisable,inadvisably,inane,inanely,inappropriate,inappropriately,inapt,inaptitude,inarticulate,inattentive,inaudible,incapable,incapably,incautious,incendiary,incense,incessant,incessantly,incite,incitement,incivility,inclement,incognizant,incoherence,incoherent,incoherently,incommensurate,incomparable,incomparably,incompatability,incompatibility,incompatible,incompetence,incompetent,incompetently,incomplete,incompliant,incomprehensible,incomprehension,inconceivable,inconceivably,incongruous,incongruously,inconsequent,inconsequential,inconsequentially,inconsequently,inconsiderate,inconsiderately,inconsistence,inconsistencies,inconsistency,inconsistent,inconsolable,inconsolably,inconstant,inconvenience,inconveniently,incorrect,incorrectly,incorrigible,incorrigibly,incredulous,incredulously,inculcate,indecency,indecent,indecently,indecision,indecisive,indecisively,indecorum,indefensible,indelicate,indeterminable,indeterminably,indeterminate,indifference,indifferent,indigent,indignant,indignantly,indignation,indignity,indiscernible,indiscreet,indiscreetly,indiscretion,indiscriminate,indiscriminately,indiscriminating,indistinguishable,indoctrinate,indoctrination,indolent,indulge,ineffective,ineffectively,ineffectiveness,ineffectual,ineffectually,ineffectualness,inefficacious,inefficacy,inefficiency,inefficient,inefficiently,inelegance,inelegant,ineligible,ineloquent,ineloquently,inept,ineptitude,ineptly,inequalities,inequality,inequitable,inequitably,inequities,inescapable,inescapably,inessential,inevitable,inevitably,inexcusable,inexcusably,inexorable,inexorably,inexperience,inexperienced,inexpert,inexpertly,inexpiable,inexplainable,inextricable,inextricably,infamous,infamously,infamy,infected,infection,infections,inferior,inferiority,infernal,infest,infested,infidel,infidels,infiltrator,infiltrators,infirm,inflame,inflammation,inflammatory,inflammed,inflated,inflationary,inflexible,inflict,infraction,infringe,infringement,infringements,infuriate,infuriated,infuriating,infuriatingly,inglorious,ingrate,ingratitude,inhibit,inhibition,inhospitable,inhospitality,inhuman,inhumane,inhumanity,inimical,inimically,iniquitous,iniquity,injudicious,injure,injurious,injury,injustice,injustices,innuendo,inoperable,inopportune,inordinate,inordinately,insane,insanely,insanity,insatiable,insecure,insecurity,insensible,insensitive,insensitively,insensitivity,insidious,insidiously,insignificance,insignificant,insignificantly,insincere,insincerely,insincerity,insinuate,insinuating,insinuation,insociable,insolence,insolent,insolently,insolvent,insouciance,instability,instable,instigate,instigator,instigators,insubordinate,insubstantial,insubstantially,insufferable,insufferably,insufficiency,insufficient,insufficiently,insular,insult,insulted,insulting,insultingly,insults,insupportable,insupportably,insurmountable,insurmountably,insurrection,intefere,inteferes,intense,interfere,interference,interferes,intermittent,interrupt,interruption,interruptions,intimidate,intimidating,intimidatingly,intimidation,intolerable,intolerablely,intolerance,intoxicate,intractable,intransigence,intransigent,intrude,intrusion,intrusive,inundate,inundated,invader,invalid,invalidate,invalidity,invasive,invective,inveigle,invidious,invidiously,invidiousness,invisible,involuntarily,involuntary,irascible,irate,irately,ire,irk,irked,irking,irks,irksome,irksomely,irksomeness,irksomenesses,ironic,ironical,ironically,ironies,irony,irragularity,irrational,irrationalities,irrationality,irrationally,irrationals,irreconcilable,irrecoverable,irrecoverableness,irrecoverablenesses,irrecoverably,irredeemable,irredeemably,irreformable,irregular,irregularity,irrelevance,irrelevant,irreparable,irreplacible,irrepressible,irresolute,irresolvable,irresponsible,irresponsibly,irretating,irretrievable,irreversible,irritable,irritably,irritant,irritate,irritated,irritating,irritation,irritations,isolate,isolated,isolation,issue,issues,itch,itching,itchy,jabber,jaded,jagged,jam,jarring,jaundiced,jealous,jealously,jealousness,jealousy,jeer,jeering,jeeringly,jeers,jeopardize,jeopardy,jerk,jerky,jitter,jitters,jittery,job-killing,jobless,joke,joker,jolt,judder,juddering,judders,jumpy,junk,junky,junkyard,jutter,jutters,kaput,kill,killed,killer,killing,killjoy,kills,knave,knife,knock,knotted,kook,kooky,lack,lackadaisical,lacked,lackey,lackeys,lacking,lackluster,lacks,laconic,lag,lagged,lagging,laggy,lags,laid-off,lambast,lambaste,lame,lame-duck,lament,lamentable,lamentably,languid,languish,languor,languorous,languorously,lanky,lapse,lapsed,lapses,lascivious,last-ditch,latency,laughable,laughably,laughingstock,lawbreaker,lawbreaking,lawless,lawlessness,layoff,layoff-happy,lazy,leak,leakage,leakages,leaking,leaks,leaky,lech,lecher,lecherous,lechery,leech,leer,leery,left-leaning,lemon,lengthy,less-developed,lesser-known,letch,lethal,lethargic,lethargy,lewd,lewdly,lewdness,liability,liable,liar,liars,licentious,licentiously,licentiousness,lie,lied,lier,lies,life-threatening,lifeless,limit,limitation,limitations,limited,limits,limp,listless,litigious,little-known,livid,lividly,loath,loathe,loathing,loathly,loathsome,loathsomely,lone,loneliness,lonely,loner,lonesome,long-time,long-winded,longing,longingly,loophole,loopholes,loose,loot,lorn,lose,loser,losers,loses,losing,loss,losses,lost,loud,louder,lousy,loveless,lovelorn,low-rated,lowly,ludicrous,ludicrously,lugubrious,lukewarm,lull,lumpy,lunatic,lunaticism,lurch,lure,lurid,lurk,lurking,lying,macabre,mad,madden,maddening,maddeningly,madder,madly,madman,madness,maladjusted,maladjustment,malady,malaise,malcontent,malcontented,maledict,malevolence,malevolent,malevolently,malice,malicious,maliciously,maliciousness,malign,malignant,malodorous,maltreatment,mangle,mangled,mangles,mangling,mania,maniac,maniacal,manic,manipulate,manipulation,manipulative,manipulators,mar,marginal,marginally,martyrdom,martyrdom-seeking,mashed,massacre,massacres,matte,mawkish,mawkishly,mawkishness,meager,meaningless,meanness,measly,meddle,meddlesome,mediocre,mediocrity,melancholy,melodramatic,melodramatically,meltdown,menace,menacing,menacingly,mendacious,mendacity,menial,merciless,mercilessly,mess,messed,messes,messing,messy,midget,miff,militancy,mindless,mindlessly,mirage,mire,misalign,misaligned,misaligns,misapprehend,misbecome,misbecoming,misbegotten,misbehave,misbehavior,miscalculate,miscalculation,miscellaneous,mischief,mischievous,mischievously,misconception,misconceptions,miscreant,miscreants,misdirection,miser,miserable,miserableness,miserably,miseries,miserly,misery,misfit,misfortune,misgiving,misgivings,misguidance,misguide,misguided,mishandle,mishap,misinform,misinformed,misinterpret,misjudge,misjudgment,mislead,misleading,misleadingly,mislike,mismanage,mispronounce,mispronounced,mispronounces,misread,misreading,misrepresent,misrepresentation,miss,missed,misses,misstatement,mist,mistake,mistaken,mistakenly,mistakes,mistified,mistress,mistrust,mistrustful,mistrustfully,mists,misunderstand,misunderstanding,misunderstandings,misunderstood,misuse,moan,mobster,mock,mocked,mockeries,mockery,mocking,mockingly,mocks,molest,molestation,monotonous,monotony,monster,monstrosities,monstrosity,monstrous,monstrously,moody,moot,mope,morbid,morbidly,mordant,mordantly,moribund,moron,moronic,morons,mortification,mortified,mortify,mortifying,motionless,motley,mourn,mourner,mournful,mournfully,muddle,muddy,mudslinger,mudslinging,mulish,multi-polarization,mundane,murder,murderer,murderous,murderously,murky,muscle-flexing,mushy,musty,mysterious,mysteriously,mystery,mystify,myth,nag,nagging,naive,naively,narrower,nastily,nastiness,nasty,naughty,nauseate,nauseates,nauseating,nauseatingly,na�ve,nebulous,nebulously,needless,needlessly,needy,nefarious,nefariously,negate,negation,negative,negatives,negativity,neglect,neglected,negligence,negligent,nemesis,nepotism,nervous,nervously,nervousness,nettle,nettlesome,neurotic,neurotically,niggle,niggles,nightmare,nightmarish,nightmarishly,nitpick,nitpicking,noise,noises,noisier,noisy,non-confidence,nonexistent,nonresponsive,nonsense,nosey,notoriety,notorious,notoriously,noxious,nuisance,numb,obese,object,objection,objectionable,objections,oblique,obliterate,obliterated,oblivious,obnoxious,obnoxiously,obscene,obscenely,obscenity,obscure,obscured,obscures,obscurity,obsess,obsessive,obsessively,obsessiveness,obsolete,obstacle,obstinate,obstinately,obstruct,obstructed,obstructing,obstruction,obstructs,obtrusive,obtuse,occlude,occluded,occludes,occluding,odd,odder,oddest,oddities,oddity,oddly,odor,offence,offend,offender,offending,offenses,offensive,offensively,offensiveness,officious,ominous,ominously,omission,omit,one-sided,onerous,onerously,onslaught,opinionated,opponent,opportunistic,oppose,opposition,oppositions,oppress,oppression,oppressive,oppressively,oppressiveness,oppressors,ordeal,orphan,ostracize,outbreak,outburst,outbursts,outcast,outcry,outlaw,outmoded,outrage,outraged,outrageous,outrageously,outrageousness,outrages,outsider,over-acted,over-awe,over-balanced,over-hyped,over-priced,over-valuation,overact,overacted,overawe,overbalance,overbalanced,overbearing,overbearingly,overblown,overdo,overdone,overdue,overemphasize,overheat,overkill,overloaded,overlook,overpaid,overpayed,overplay,overpower,overpriced,overrated,overreach,overrun,overshadow,oversight,oversights,oversimplification,oversimplified,oversimplify,oversize,overstate,overstated,overstatement,overstatements,overstates,overtaxed,overthrow,overthrows,overturn,overweight,overwhelm,overwhelmed,overwhelming,overwhelmingly,overwhelms,overzealous,overzealously,overzelous,pain,painful,painfull,painfully,pains,pale,pales,paltry,pan,pandemonium,pander,pandering,panders,panic,panick,panicked,panicking,panicky,paradoxical,paradoxically,paralize,paralyzed,paranoia,paranoid,parasite,pariah,parody,partiality,partisan,partisans,passe,passive,passiveness,pathetic,pathetically,patronize,paucity,pauper,paupers,payback,peculiar,peculiarly,pedantic,peeled,peeve,peeved,peevish,peevishly,penalize,penalty,perfidious,perfidity,perfunctory,peril,perilous,perilously,perish,pernicious,perplex,perplexed,perplexing,perplexity,persecute,persecution,pertinacious,pertinaciously,pertinacity,perturb,perturbed,pervasive,perverse,perversely,perversion,perversity,pervert,perverted,perverts,pessimism,pessimistic,pessimistically,pest,pestilent,petrified,petrify,pettifog,petty,phobia,phobic,phony,picket,picketed,picketing,pickets,picky,pig,pigs,pillage,pillory,pimple,pinch,pique,pitiable,pitiful,pitifully,pitiless,pitilessly,pittance,pity,plagiarize,plague,plasticky,plaything,plea,pleas,plebeian,plight,plot,plotters,ploy,plunder,plunderer,pointless,pointlessly,poison,poisonous,poisonously,pokey,poky,polarisation,polemize,pollute,polluter,polluters,polution,pompous,poor,poorer,poorest,poorly,posturing,pout,poverty,powerless,prate,pratfall,prattle,precarious,precariously,precipitate,precipitous,predatory,predicament,prejudge,prejudice,prejudices,prejudicial,premeditated,preoccupy,preposterous,preposterously,presumptuous,presumptuously,pretence,pretend,pretense,pretentious,pretentiously,prevaricate,pricey,pricier,prick,prickle,prickles,prideful,prik,primitive,prison,prisoner,problem,problematic,problems,procrastinate,procrastinates,procrastination,profane,profanity,prohibit,prohibitive,prohibitively,propaganda,propagandize,proprietary,prosecute,protest,protested,protesting,protests,protracted,provocation,provocative,provoke,pry,pugnacious,pugnaciously,pugnacity,punch,punish,punishable,punitive,punk,puny,puppet,puppets,puzzled,puzzlement,puzzling,quack,qualm,qualms,quandary,quarrel,quarrellous,quarrellously,quarrels,quarrelsome,quash,queer,questionable,quibble,quibbles,quitter,rabid,racism,racist,racists,racy,radical,radicalization,radically,radicals,rage,ragged,raging,rail,raked,rampage,rampant,ramshackle,rancor,randomly,rankle,rant,ranted,ranting,rantingly,rants,rape,raped,raping,rascal,rascals,rash,rattle,rattled,rattles,ravage,raving,reactionary,rebellious,rebuff,rebuke,recalcitrant,recant,recession,recessionary,reckless,recklessly,recklessness,recoil,recourses,redundancy,redundant,refusal,refuse,refused,refuses,refusing,refutation,refute,refuted,refutes,refuting,regress,regression,regressive,regret,regreted,regretful,regretfully,regrets,regrettable,regrettably,regretted,reject,rejected,rejecting,rejection,rejects,relapse,relentless,relentlessly,relentlessness,reluctance,reluctant,reluctantly,remorse,remorseful,remorsefully,remorseless,remorselessly,remorselessness,renounce,renunciation,repel,repetitive,reprehensible,reprehensibly,reprehension,reprehensive,repress,repression,repressive,reprimand,reproach,reproachful,reprove,reprovingly,repudiate,repudiation,repugn,repugnance,repugnant,repugnantly,repulse,repulsed,repulsing,repulsive,repulsively,repulsiveness,resent,resentful,resentment,resignation,resigned,resistance,restless,restlessness,restrict,restricted,restriction,restrictive,resurgent,retaliate,retaliatory,retard,retarded,retardedness,retards,reticent,retract,retreat,retreated,revenge,revengeful,revengefully,revert,revile,reviled,revoke,revolt,revolting,revoltingly,revulsion,revulsive,rhapsodize,rhetoric,rhetorical,ricer,ridicule,ridicules,ridiculous,ridiculously,rife,rift,rifts,rigid,rigidity,rigidness,rile,riled,rip,rip-off,ripoff,ripped,risk,risks,risky,rival,rivalry,roadblocks,rocky,rogue,rollercoaster,rot,rotten,rough,rremediable,rubbish,rude,rue,ruffian,ruffle,ruin,ruined,ruining,ruinous,ruins,rumbling,rumor,rumors,rumours,rumple,run-down,runaway,rupture,rust,rusts,rusty,rut,ruthless,ruthlessly,ruthlessness,ruts,sabotage,sack,sacrificed,sad,sadden,sadly,sadness,sag,sagged,sagging,saggy,sags,salacious,sanctimonious,sap,sarcasm,sarcastic,sarcastically,sardonic,sardonically,sass,satirical,satirize,savage,savaged,savagery,savages,scaly,scam,scams,scandal,scandalize,scandalized,scandalous,scandalously,scandals,scandel,scandels,scant,scapegoat,scar,scarce,scarcely,scarcity,scare,scared,scarier,scariest,scarily,scarred,scars,scary,scathing,scathingly,sceptical,scoff,scoffingly,scold,scolded,scolding,scoldingly,scorching,scorchingly,scorn,scornful,scornfully,scoundrel,scourge,scowl,scramble,scrambled,scrambles,scrambling,scrap,scratch,scratched,scratches,scratchy,scream,screech,screw-up,screwed,screwed-up,screwy,scuff,scuffs,scum,scummy,second-class,second-tier,secretive,sedentary,seedy,seethe,seething,self-coup,self-criticism,self-defeating,self-destructive,self-humiliation,self-interest,self-interested,self-serving,selfinterested,selfish,selfishly,selfishness,semi-retarded,senile,sensationalize,senseless,senselessly,seriousness,sermonize,servitude,set-up,setback,setbacks,sever,severe,severity,sh*t,shabby,shadowy,shady,shake,shaky,shallow,sham,shambles,shame,shameful,shamefully,shamefulness,shameless,shamelessly,shamelessness,shark,sharply,shatter,shemale,shimmer,shimmy,shipwreck,shirk,shirker,shit,shiver,shock,shocked,shocking,shockingly,shoddy,short-lived,shortage,shortchange,shortcoming,shortcomings,shortness,shortsighted,shortsightedness,showdown,shrew,shriek,shrill,shrilly,shrivel,shroud,shrouded,shrug,shun,shunned,sick,sicken,sickening,sickeningly,sickly,sickness,sidetrack,sidetracked,siege,sillily,silly,simplistic,simplistically,sin,sinful,sinfully,sinister,sinisterly,sink,sinking,skeletons,skeptic,skeptical,skeptically,skepticism,sketchy,skimpy,skinny,skittish,skittishly,skulk,slack,slander,slanderer,slanderous,slanderously,slanders,slap,slashing,slaughter,slaughtered,slave,slaves,sleazy,slime,slog,slogged,slogging,slogs,sloooooooooooooow,sloooow,slooow,sloow,sloppily,sloppy,sloth,slothful,slow,slow-moving,slowed,slower,slowest,slowly,sloww,slowww,slowwww,slug,sluggish,slump,slumping,slumpping,slur,slut,sluts,sly,smack,smallish,smash,smear,smell,smelled,smelling,smells,smelly,smelt,smoke,smokescreen,smolder,smoldering,smother,smoulder,smouldering,smudge,smudged,smudges,smudging,smug,smugly,smut,smuttier,smuttiest,smutty,snag,snagged,snagging,snags,snappish,snappishly,snare,snarky,snarl,sneak,sneakily,sneaky,sneer,sneering,sneeringly,snob,snobbish,snobby,snobish,snobs,snub,so-cal,soapy,sob,sober,sobering,solemn,solicitude,somber,sore,sorely,soreness,sorrow,sorrowful,sorrowfully,sorry,sour,sourly,spade,spank,spendy,spew,spewed,spewing,spews,spilling,spinster,spiritless,spite,spiteful,spitefully,spitefulness,splatter,split,splitting,spoil,spoilage,spoilages,spoiled,spoilled,spoils,spook,spookier,spookiest,spookily,spooky,spoon-fed,spoon-feed,spoonfed,sporadic,spotty,spurious,spurn,sputter,squabble,squabbling,squander,squash,squeak,squeaks,squeaky,squeal,squealing,squeals,squirm,stab,stagnant,stagnate,stagnation,staid,stain,stains,stale,stalemate,stall,stalls,stammer,stampede,standstill,stark,starkly,startle,startling,startlingly,starvation,starve,static,steal,stealing,steals,steep,steeply,stench,stereotype,stereotypical,stereotypically,stern,stew,sticky,stiff,stiffness,stifle,stifling,stiflingly,stigma,stigmatize,sting,stinging,stingingly,stingy,stink,stinks,stodgy,stole,stolen,stooge,stooges,stormy,straggle,straggler,strain,strained,straining,strange,strangely,stranger,strangest,strangle,streaky,strenuous,stress,stresses,stressful,stressfully,stricken,strict,strictly,strident,stridently,strife,strike,stringent,stringently,struck,struggle,struggled,struggles,struggling,strut,stubborn,stubbornly,stubbornness,stuck,stuffy,stumble,stumbled,stumbles,stump,stumped,stumps,stun,stunt,stunted,stupid,stupidest,stupidity,stupidly,stupified,stupify,stupor,stutter,stuttered,stuttering,stutters,sty,stymied,sub-par,subdued,subjected,subjection,subjugate,subjugation,submissive,subordinate,subpoena,subpoenas,subservience,subservient,substandard,subtract,subversion,subversive,subversively,subvert,succumb,suck,sucked,sucker,sucks,sucky,sue,sued,sueing,sues,suffer,suffered,sufferer,sufferers,suffering,suffers,suffocate,sugar-coat,sugar-coated,sugarcoated,suicidal,suicide,sulk,sullen,sully,sunder,sunk,sunken,superficial,superficiality,superficially,superfluous,superstition,superstitious,suppress,suppression,surrender,susceptible,suspect,suspicion,suspicions,suspicious,suspiciously,swagger,swamped,sweaty,swelled,swelling,swindle,swipe,swollen,symptom,symptoms,syndrome,taboo,tacky,taint,tainted,tamper,tangle,tangled,tangles,tank,tanked,tanks,tantrum,tardy,tarnish,tarnished,tarnishes,tarnishing,tattered,taunt,taunting,tauntingly,taunts,taut,tawdry,taxing,tease,teasingly,tedious,tediously,temerity,temper,tempest,temptation,tenderness,tense,tension,tentative,tentatively,tenuous,tenuously,tepid,terrible,terribleness,terribly,terror,terror-genic,terrorism,terrorize,testily,testy,tetchily,tetchy,thankless,thicker,thirst,thorny,thoughtless,thoughtlessly,thoughtlessness,thrash,threat,threaten,threatening,threats,threesome,throb,throbbed,throbbing,throbs,throttle,thug,thumb-down,thumbs-down,thwart,time-consuming,timid,timidity,timidly,timidness,tin-y,tingled,tingling,tired,tiresome,tiring,tiringly,toil,toll,top-heavy,topple,torment,tormented,torrent,tortuous,torture,tortured,tortures,torturing,torturous,torturously,totalitarian,touchy,toughness,tout,touted,touts,toxic,traduce,tragedy,tragic,tragically,traitor,traitorous,traitorously,tramp,trample,transgress,transgression,trap,traped,trapped,trash,trashed,trashy,trauma,traumatic,traumatically,traumatize,traumatized,travesties,travesty,treacherous,treacherously,treachery,treason,treasonous,trick,tricked,trickery,tricky,trivial,trivialize,trouble,troubled,troublemaker,troubles,troublesome,troublesomely,troubling,troublingly,truant,tumble,tumbled,tumbles,tumultuous,turbulent,turmoil,twist,twisted,twists,two-faced,two-faces,tyrannical,tyrannically,tyranny,tyrant,ugh,uglier,ugliest,ugliness,ugly,ulterior,ultimatum,ultimatums,ultra-hardline,un-viewable,unable,unacceptable,unacceptablely,unacceptably,unaccessible,unaccustomed,unachievable,unaffordable,unappealing,unattractive,unauthentic,unavailable,unavoidably,unbearable,unbearablely,unbelievable,unbelievably,uncaring,uncertain,uncivil,uncivilized,unclean,unclear,uncollectible,uncomfortable,uncomfortably,uncomfy,uncompetitive,uncompromising,uncompromisingly,unconfirmed,unconstitutional,uncontrolled,unconvincing,unconvincingly,uncooperative,uncouth,uncreative,undecided,undefined,undependability,undependable,undercut,undercuts,undercutting,underdog,underestimate,underlings,undermine,undermined,undermines,undermining,underpaid,underpowered,undersized,undesirable,undetermined,undid,undignified,undissolved,undocumented,undone,undue,unease,uneasily,uneasiness,uneasy,uneconomical,unemployed,unequal,unethical,uneven,uneventful,unexpected,unexpectedly,unexplained,unfairly,unfaithful,unfaithfully,unfamiliar,unfavorable,unfeeling,unfinished,unfit,unforeseen,unforgiving,unfortunate,unfortunately,unfounded,unfriendly,unfulfilled,unfunded,ungovernable,ungrateful,unhappily,unhappiness,unhappy,unhealthy,unhelpful,unilateralism,unimaginable,unimaginably,unimportant,uninformed,uninsured,unintelligible,unintelligile,unipolar,unjust,unjustifiable,unjustifiably,unjustified,unjustly,unkind,unkindly,unknown,unlamentable,unlamentably,unlawful,unlawfully,unlawfulness,unleash,unlicensed,unlikely,unlucky,unmoved,unnatural,unnaturally,unnecessary,unneeded,unnerve,unnerved,unnerving,unnervingly,unnoticed,unobserved,unorthodox,unorthodoxy,unpleasant,unpleasantries,unpopular,unpredictable,unprepared,unproductive,unprofitable,unprove,unproved,unproven,unproves,unproving,unqualified,unravel,unraveled,unreachable,unreadable,unrealistic,unreasonable,unreasonably,unrelenting,unrelentingly,unreliability,unreliable,unresolved,unresponsive,unrest,unruly,unsafe,unsatisfactory,unsavory,unscrupulous,unscrupulously,unsecure,unseemly,unsettle,unsettled,unsettling,unsettlingly,unskilled,unsophisticated,unsound,unspeakable,unspeakablely,unspecified,unstable,unsteadily,unsteadiness,unsteady,unsuccessful,unsuccessfully,unsupported,unsupportive,unsure,unsuspecting,unsustainable,untenable,untested,unthinkable,unthinkably,untimely,untouched,untrue,untrustworthy,untruthful,unusable,unusably,unuseable,unuseably,unusual,unusually,unviewable,unwanted,unwarranted,unwatchable,unwelcome,unwell,unwieldy,unwilling,unwillingly,unwillingness,unwise,unwisely,unworkable,unworthy,unyielding,upbraid,upheaval,uprising,uproar,uproarious,uproariously,uproarous,uproarously,uproot,upset,upseting,upsets,upsetting,upsettingly,urgent,useless,usurp,usurper,utterly,vagrant,vague,vagueness,vain,vainly,vanity,vehement,vehemently,vengeance,vengeful,vengefully,vengefulness,venom,venomous,venomously,vent,vestiges,vex,vexation,vexing,vexingly,vibrate,vibrated,vibrates,vibrating,vibration,vice,vicious,viciously,viciousness,victimize,vile,vileness,vilify,villainous,villainously,villains,villian,villianous,villianously,villify,vindictive,vindictively,vindictiveness,violate,violation,violator,violators,violent,violently,viper,virulence,virulent,virulently,virus,vociferous,vociferously,volatile,volatility,vomit,vomited,vomiting,vomits,vulgar,vulnerable,wack,wail,wallow,wane,waning,wanton,war-like,warily,wariness,warlike,warned,warning,warp,warped,wary,washed-out,waste,wasted,wasteful,wastefulness,wasting,water-down,watered-down,wayward,weak,weaken,weakening,weaker,weakness,weaknesses,weariness,wearisome,weary,wedge,weed,weep,weird,weirdly,wheedle,whimper,whine,whining,whiny,whips,whore,whores,wicked,wickedly,wickedness,wild,wildly,wiles,wilt,wily,wimpy,wince,wobble,wobbled,wobbles,woe,woebegone,woeful,woefully,womanizer,womanizing,worn,worried,worriedly,worrier,worries,worrisome,worry,worrying,worryingly,worse,worsen,worsening,worst,worthless,worthlessly,worthlessness,wound,wounds,wrangle,wrath,wreak,wreaked,wreaks,wreck,wrest,wrestle,wretch,wretched,wretchedly,wretchedness,wrinkle,wrinkled,wrinkles,wrip,wripped,wripping,writhe,wrong,wrongful,wrongly,wrought,yawn,zap,zapped,zaps,zealot,zealous,zealously,zombie"
16
+
17
+ POSITIVE_SET = set(POSITIVE.split(","))
18
+ NEGATIVE_SET = set(NEGATIVE.split(","))
19
+
20
+ def getDefinition(self) -> IndicatorSpec:
21
+ defn = IndicatorSpec("News Sentiment")
22
+ defn.description = "Rough estimate on news sentiment based on positive and negative keywords"
23
+ return defn
24
+
25
+
26
+ def computeSeries(self, symbol: str, params: Dict[str, Any]) -> List[DatedValue]:
27
+ client = InvestflyApiClient()
28
+ news = client.marketApi.getNews(symbol)
29
+
30
+ postiveCount = 0
31
+ negativeCount = 0
32
+ for n in news:
33
+ if 'description' in n:
34
+ words = n['description'].split()
35
+ for w in words:
36
+ if w.lower() in self.POSITIVE_SET:
37
+ postiveCount = postiveCount + 1
38
+ if w.lower() in self.NEGATIVE_SET:
39
+ negativeCount = negativeCount + 1
40
+
41
+ return [DatedValue(datetime.now(), float(postiveCount - negativeCount))]
@@ -0,0 +1,42 @@
1
+ import datetime
2
+ from typing import Any, List, Dict
3
+ import numpy as np
4
+ import talib
5
+
6
+ from investfly.models import *
7
+ from investfly.utils import *
8
+
9
+
10
+ # This sample show how you can use pandas_ta module at https://github.com/twopirllc/pandas-ta
11
+ # to compute implement your own custom indicator
12
+ # This indicator computes RSI of SMA - it computes SMA and uses it as input to RSI.
13
+
14
+
15
+ class RsiOfSma(Indicator):
16
+
17
+
18
+ # To implement a price-based indicator (i.e. indicator that uses price bars [open,high,low,close,volume]),
19
+ # you extend from PriceBasedIndicator and implement methods shown below
20
+
21
+ def getIndicatorSpec(self) -> IndicatorSpec:
22
+ # In this method, you must construct and return IndicatorDefinition object that specifies
23
+ # indicator name, description and any parameters it needs. BarSize parameter is automatically
24
+ # added from the parent class
25
+ indicator = IndicatorSpec("RSI of SMA")
26
+ indicator.addParam("sma_period", IndicatorParamSpec(ParamType.INTEGER, True, 5, IndicatorParamSpec.PERIOD_VALUES))
27
+ indicator.addParam("rsi_period", IndicatorParamSpec(ParamType.INTEGER, True, 10, IndicatorParamSpec.PERIOD_VALUES))
28
+ return indicator
29
+
30
+ def getDataSourceType(self) -> DataSource:
31
+ return DataSource.BARS
32
+
33
+ def computeSeries(self, params: Dict[str, Any], bars: List[Bar]) -> List[DatedValue]:
34
+ dates, close = CommonUtils.extractCloseSeries(bars)
35
+ sma_period = params['sma_period']
36
+ smaSeries = talib.SMA(np.array(close), timeperiod=sma_period)
37
+ rsi_period = params['rsi_period']
38
+ rsiSeries = talib.RSI(smaSeries, timeperiod=rsi_period)
39
+ return CommonUtils.createListOfDatedValue(dates, rsiSeries)
40
+
41
+
42
+
@@ -0,0 +1,40 @@
1
+ from typing import Any, List, Dict
2
+
3
+ import numpy as np
4
+ import talib
5
+
6
+ from investfly.models import *
7
+ from investfly.utils import *
8
+
9
+ # This sample show how you can use pandas_ta module at https://github.com/twopirllc/pandas-ta
10
+ # to compute over 100 technical indicators
11
+ # This indicator computes average of SMA and EMA for given period
12
+
13
+ class SmaEmaAverage(Indicator):
14
+
15
+ # To implement a price-based indicator (i.e indicator that uses price bars [open,high,low,close,volume]) in
16
+ # computation you extend from PriceBasedIndicator and implement methods shown below
17
+
18
+ def getIndicatorSpec(self) -> IndicatorSpec:
19
+ # In this method, you must construct and return IndicatorDefinition object that spefies
20
+ # indicator name, description and any parameters it needs. BarSize parameter is automatically
21
+ # added from the parent class
22
+ indicator = IndicatorSpec("SMA EMA Average")
23
+ indicator.addParam('period', IndicatorParamSpec(ParamType.INTEGER, True, 5, IndicatorParamSpec.PERIOD_VALUES))
24
+ return indicator
25
+
26
+ def getDataSourceType(self) -> DataSource:
27
+ return DataSource.BARS
28
+
29
+
30
+ def computeSeries(self, params: Dict[str, Any], bars: List[Bar]) -> List[DatedValue]:
31
+ # Load the bars into Pandas dataframe
32
+ dates, close = CommonUtils.extractCloseSeries(bars)
33
+ # Get supplied period
34
+ period = params['period']
35
+ # Call pandas_ta module to compute sma and ema
36
+ # see https://github.com/twopirllc/pandas-ta
37
+ smaSeries = talib.SMA(np.array(close), timeperiod=period)
38
+ emaSeries = talib.EMA(np.array(close), timeperiod=period)
39
+ avgSeries = (smaSeries + emaSeries) / 2
40
+ return CommonUtils.createListOfDatedValue(dates, avgSeries)
File without changes
@@ -0,0 +1,35 @@
1
+ from typing import Dict, Any, List
2
+
3
+ from investfly.models import *
4
+ from investfly.utils import PercentBasedPortfolioAllocator
5
+
6
+
7
+ class SmaCrossOverStrategy(TradingStrategy):
8
+
9
+
10
+ def getSecurityUniverseSelector(self) -> SecurityUniverseSelector:
11
+ #return SecurityUniverseSelector.fromStockSymbols(["AAPL", "MSFT"])
12
+ return SecurityUniverseSelector.fromStandardList(StandardSymbolsList.SP_100)
13
+
14
+ @DataParams({
15
+ "sma2": {"datatype": DataType.INDICATOR, "indicator": "SMA", "barinterval": BarInterval.ONE_MINUTE, "period": 2, "count": 2},
16
+ "sma3": {"datatype": DataType.INDICATOR, "indicator": "SMA", "barinterval": BarInterval.ONE_MINUTE, "period": 3, "count": 2}
17
+ })
18
+ def evaluateOpenTradeCondition(self, security: Security, data: Dict[str, Any]) -> TradeSignal | None:
19
+ # We asked for latest two values for each of these indicators so that we can implement a "crossover"
20
+ # semantics, i.e, we generate trade signal when sma2 crosses over sma3
21
+ sma2 = data["sma2"]
22
+ sma3 = data["sma3"]
23
+ if sma2[-1].value > sma3[-1].value and sma2[-2].value <= sma3[-2].value:
24
+ return TradeSignal(security, PositionType.LONG)
25
+ else:
26
+ return None
27
+
28
+ def getStandardCloseCondition(self) -> StandardCloseCriteria:
29
+ return StandardCloseCriteria(targetProfit=1, stopLoss=-1, trailingStop=None, timeOut=TimeDelta(60, TimeUnit.MINUTES))
30
+
31
+
32
+ def processOpenTradeSignals(self, portfolio: Portfolio, tradeSignals: List[TradeSignal]) -> List[TradeOrder]:
33
+ portfolioAllocator = PercentBasedPortfolioAllocator(5, PositionType.LONG)
34
+ return portfolioAllocator.allocatePortfolio(portfolio, tradeSignals)
35
+
@@ -0,0 +1,131 @@
1
+ # This is a self-documenting starter template to define custom trading strategy in Python Programming Language
2
+ # This code can be used as-it-is to try a new strategy
3
+
4
+ # Following two imports are required
5
+ from investfly.models import *
6
+ from investfly.utils import *
7
+
8
+ # Import basic types, they aren't required but recommended
9
+ from typing import Any, List, Dict
10
+
11
+ # Following numeric analysis imports are allowed
12
+ import math
13
+ import statistics
14
+ import numpy as np
15
+ import talib
16
+ import pandas
17
+ # ! WARN ! Imports other than listed above are disallowed and won't pass validation
18
+
19
+ # Create a class that extends TradingStrategy and implement 5 methods shown below
20
+ class SmaCrossOverTemplate(TradingStrategy):
21
+
22
+ def getSecurityUniverseSelector(self) -> SecurityUniverseSelector:
23
+ # Narrow down the scope (or universe of stocks) against which to run this strategy. We support 3 options
24
+ # 1. Standard List: SP_100, SP_500, NASDAQ_100, NASDAQ_COMPOSITE, RUSSELL_1000,DOW_JONES_INDUSTRIALS, ETFS
25
+ # universe = SecurityUniverseSelector.fromStandardList(StandardSymbolsList.SP_100)
26
+ # 2. Custom List
27
+ # universe = SecurityUniverseSelector.fromStockSymbols(['AAPL', 'MSFT'])
28
+ # 3. Financial Query (Dynamic List)
29
+ financialQuery = FinancialQuery() # MARKETCAP > 1B AND PE > 20
30
+ financialQuery.addCondition(FinancialCondition(FinancialField.MARKET_CAP, ComparisonOperator.GREATER_THAN, "1B"))
31
+ financialQuery.addCondition(FinancialCondition(FinancialField.PRICE_TO_EARNINGS_RATIO, ComparisonOperator.GREATER_THAN, "20"))
32
+ universe = SecurityUniverseSelector.fromFinancialQuery(financialQuery)
33
+ return universe
34
+
35
+
36
+ """
37
+ The function evaluateOpenTradeCondition below must be annotated with OnData to indicate when should this function be called and what values to pass
38
+ This function is called separately for each security
39
+ @WithData({
40
+ "sma2": {"datatype": DataType.INDICATOR, "indicator": "SMA", "barinterval": BarInterval.ONE_MINUTE, "period": 2, "count": 2},
41
+ "sma3": {"datatype": DataType.INDICATOR, "indicator": "SMA", "barinterval": BarInterval.ONE_MINUTE, "period": 3, "count": 2},
42
+ "allOneMinBars": {"datatype": DataType.BARS, "barinterval": BarInterval.ONE_MINUTE},
43
+ "latestDailyBar": {"datatype": DataType.BARS, "barinterval": BarInterval.ONE_DAY, "count":1},
44
+ "quote": {"datatype": DataType.QUOTE},
45
+ "lastprice": {"datatype": DataType.QUOTE, "field": QuoteField.LASTPRICE},
46
+ "allFinancials": {"datatype": DataType.FINANCIAL},
47
+ "revenue": {"datatype": DataType.FINANCIAL, "field": FinancialField.REVENUE}
48
+ })
49
+ """
50
+ @DataParams({
51
+ "sma5": {"datatype": DataType.INDICATOR, "indicator": "SMA", "barinterval": BarInterval.ONE_MINUTE, "period": 2, "count": 2},
52
+ "ema14": {"datatype": DataType.INDICATOR, "indicator": "EMA", "barinterval": BarInterval.ONE_MINUTE, "period": 14, "count": 2}
53
+ })
54
+ def evaluateOpenTradeCondition(self, security: Security, data: Dict[str, Any]) -> TradeSignal | None:
55
+ """
56
+ :param security: The stock security against which this is evaluated. You use it to construct TradeSignal
57
+ :param data: Dictionary with the requested data based on @DataParams annotation. The keys in the dictionary
58
+ match the keys specified in @DataParams annotation ('sma5', and 'ema14' in this case)
59
+ The data type of the value depends on datatype. Most common in DatedValue object which has two props: date and value
60
+ datatype=INDICATOR, value type = DatedValue
61
+ datatype=QUOTE, field is specified, value type = DatedValue
62
+ datatype=QUOTE, field is not specified, value type is Quote object (has dayOpen, dayHigh, dayLow, prevOpen etc)
63
+ datatype=BARS, value type is BAR
64
+ Further, if the count is specified and greater than 1, value is returned as a List
65
+ :return: TradeSignal if open condition matches and to signal open trade, None if open trade condition does not match
66
+ """
67
+
68
+ # We asked for latest two values for each of these indicators so that we can implement a "crossover"
69
+ # semantics, i.e generate trade signal when sma2 crosses over ema14 (i.e sma5 was below ema14 at previous bar
70
+ # but it is higher in this bar).
71
+
72
+ # The other way to implement crossover effect is by storing previous result in state as described below
73
+ sma5 = data["sma5"]
74
+ ema14 = data["ema14"]
75
+ if sma5[-1].value > ema14[-1].value and sma5[-2].value <= ema14[-2].value:
76
+ # when current sma4 > ema14 and previous sma5 <= ema14, return a TradeSignal.
77
+ # TradeSignal can optionally set TradeSignal.strength to indicate strength of the signal
78
+ return TradeSignal(security, PositionType.LONG)
79
+ else:
80
+ return None
81
+
82
+ def processOpenTradeSignals(self, portfolio: Portfolio, tradeSignals: List[TradeSignal]) -> List[TradeOrder]:
83
+ """
84
+ In this method, you convert the TradeSignals into TradeOrders. You must do this for couple reasons:
85
+ 1. Assume 1000 stocks match the open trade condition and so you have 1000 TradeSignals, but that does not
86
+ mean that you want to open position for 1000 stocks in your portfolio. You may want to order those trade signals
87
+ by strength and limit to top 10 trade signals
88
+ 2. Your portfolio may already have open position for a stock corresponding to particular trade signal. In that case,
89
+ you may wan to skip that trade signal, and prioritize opening new position for other stocks
90
+ 3. Here, you also set TradeOrder speficiations such as order type, quantity etc
91
+ 4. You may want to fully rebalance portfolio baseed on these new trade signals
92
+ :param portfolio: Current portfolio state
93
+ :param tradeSignals: Trade Signals correspoding to stocks matching open trade condition
94
+ :return: List of TradeOrders to execute
95
+ """
96
+
97
+ # We provide a convenience utility that allocates given percent (10% set below) of portfolio in the given stock
98
+ portfolioAllocator = PercentBasedPortfolioAllocator(10, PositionType.LONG)
99
+ return portfolioAllocator.allocatePortfolio(portfolio, tradeSignals)
100
+
101
+ def getStandardCloseCondition(self) -> StandardCloseCriteria | None:
102
+ # TargetProfit, StopLoss, Timeout are standard close/exit criteria. TargetProfit and StopLoss are specified in percentages
103
+ return StandardCloseCriteria(targetProfit=5, stopLoss=-5, trailingStop=None, timeOut=TimeDelta(10, TimeUnit.DAYS))
104
+
105
+
106
+ @DataParams({
107
+ "sma5": {"datatype": DataType.INDICATOR, "indicator": "SMA", "barinterval": BarInterval.ONE_MINUTE, "period": 2},
108
+ "ema14": {"datatype": DataType.INDICATOR, "indicator": "EMA", "barinterval": BarInterval.ONE_MINUTE, "period": 14}
109
+ })
110
+ def evaluateCloseTradeCondition(self, openPos: OpenPosition, data: Dict[str, Any]) -> TradeOrder | None:
111
+ """
112
+ Implementing this method is optional. But when implemented, it should be implemented similar to evaluateOpenTradeCondition
113
+ :param openPos: The open position
114
+ :param data: Requested data that corresponds to the open position's security symbol
115
+ :return: TradeOrder if the position is supposed to be closed, None otherwise
116
+ """
117
+
118
+ # Note that unlike in evalOpenTradeCondition, "count" is omitted for both sma5 and ema14 DataParams. When
119
+ # count is omitted, it defaults to count=1, which means we will get a single DatedValue instead of List[DatedValue]
120
+
121
+ # For close conditions, implementing crossover effect is not required because the first time the condition
122
+ # defined below is met and TradeOrder is returned to close the position, closeOrder will be submitted and this
123
+ # method is never called on the same open position again
124
+
125
+ sma5 = data["sma5"]
126
+ ema14 = data["ema14"]
127
+
128
+ if sma5.value < 0.9 * ema14.value:
129
+ return TradeOrder(openPos.security, TradeType.SELL)
130
+ else:
131
+ return None
File without changes
@@ -0,0 +1,79 @@
1
+ import math
2
+ from datetime import datetime
3
+ from typing import List, Tuple, Any
4
+
5
+ import numpy
6
+ import pandas as pd
7
+
8
+ from investfly.models import DatedValue, Bar
9
+
10
+
11
+ def createPandasDf(bars: List[Bar]) -> pd.DataFrame:
12
+ df = pd.DataFrame(bars)
13
+ df.set_index("date", inplace=True)
14
+ return df
15
+
16
+ def extractCloseSeries(bars: List[Bar]) -> Tuple[List[datetime], List[float]]:
17
+ dates: List[datetime] = [b['date'] for b in bars]
18
+ closeSeries: List[float] = [b['close'] for b in bars]
19
+ return dates, closeSeries
20
+
21
+ def extractOHLCSeries(bars: List[Bar]) -> Tuple[List[datetime], List[float], List[float], List[float], List[float]]:
22
+ dates: List[datetime] = [b['date'] for b in bars]
23
+ openSeries: List[float] = [b['open'] for b in bars]
24
+ highSeries: List[float] = [b['high'] for b in bars]
25
+ lowSeries: List[float] = [b['low'] for b in bars]
26
+ closeSeries: List[float] = [b['close'] for b in bars]
27
+ return dates, openSeries, highSeries, lowSeries, closeSeries
28
+
29
+
30
+ def pandasSeriesToList(series: pd.Series) -> List[DatedValue]:
31
+ records = series.to_dict() # float64 is auto-converted to float by to_dict
32
+ result: List[DatedValue] = []
33
+ for key in records:
34
+ date = key.to_pydatetime() # type: ignore
35
+ val = records[key]
36
+ if not math.isnan(val):
37
+ result.append(DatedValue(date, val))
38
+ return result
39
+
40
+ def createListOfDatedValue(dates: List[datetime], values: numpy.ndarray[Any, numpy.dtype[numpy.float64]]):
41
+ result: List[DatedValue] = []
42
+ for i in range(len(dates)):
43
+ date: datetime = dates[i]
44
+ val = values[i]
45
+ if not numpy.isnan(val):
46
+ result.append(DatedValue(date, val.item()))
47
+ return result
48
+
49
+ def floatListToDatedValueList(dates: List[datetime], values: List[float]):
50
+ result: List[DatedValue] = []
51
+ for i in range(len(dates)):
52
+ date: datetime = dates[i]
53
+ val = values[i]
54
+ result.append(DatedValue(date, val))
55
+ return result
56
+
57
+ def toHeikinAshi(bars: List[Bar]) -> List[Bar]:
58
+ heiken: List[Bar] = []
59
+ for i in range(len(bars)):
60
+ b = bars[i]
61
+ h = Bar()
62
+ h['symbol'] = b['symbol']
63
+ h['date'] = b['date']
64
+ h['barinterval'] = b['barinterval']
65
+ h['volume'] = b['volume']
66
+
67
+ h['close'] = (b['open'] + b['high'] + b['low'] + b['close']) / 4
68
+
69
+ if i == 0:
70
+ h['open'] = (b['open'] + b['close'])/2
71
+ else:
72
+ h['open'] = (bars[i-1]['open'] + bars[i-1]['close'])/2
73
+
74
+ h['high'] = max(b['high'], h['open'], h['close'])
75
+ h['low'] = min(b['low'], h['open'], h['close'])
76
+
77
+ heiken.append(h)
78
+
79
+ return heiken
@@ -0,0 +1,35 @@
1
+ from typing import List
2
+
3
+ from investfly.models.PortfolioModels import Portfolio, PositionType, TradeOrder, TradeType
4
+ from investfly.models.StrategyModels import PortfolioSecurityAllocator, TradeSignal
5
+
6
+
7
+ class PercentBasedPortfolioAllocator(PortfolioSecurityAllocator):
8
+
9
+ BROKER_FEE = 5.0
10
+
11
+ def __init__(self, percent: float, positionType: PositionType) -> None:
12
+ self.percent = percent
13
+ self.positionType = positionType
14
+
15
+ def allocatePortfolio(self, portfolio: Portfolio, tradeSignals: List[TradeSignal]) -> List[TradeOrder]:
16
+
17
+ tradeType = TradeType.BUY if self.positionType == PositionType.LONG else TradeType.SHORT
18
+ openPositionSecurities = {p.security for p in portfolio.openPositions if p.position == self.positionType}
19
+ pendingOrdersSecurities = {o.security for o in portfolio.pendingOrders if o.tradeType == tradeType}
20
+ openAndPendingSecurities = openPositionSecurities.union(pendingOrdersSecurities)
21
+
22
+ tradeOrders: List[TradeOrder] = []
23
+
24
+ buyingPower = portfolio.balances.buyingPower
25
+ portfolioValue = portfolio.balances.currentValue
26
+ allocatedAmountPerSecurity = (self.percent/100) * portfolioValue
27
+
28
+ while buyingPower > allocatedAmountPerSecurity and len(tradeSignals) > 0:
29
+ tradeSignal = tradeSignals.pop(0)
30
+ if tradeSignal.security not in openAndPendingSecurities:
31
+ tradeOrder = TradeOrder(tradeSignal.security, tradeType, maxAmount=allocatedAmountPerSecurity)
32
+ tradeOrders.append(tradeOrder)
33
+ buyingPower = buyingPower - allocatedAmountPerSecurity - PercentBasedPortfolioAllocator.BROKER_FEE
34
+
35
+ return tradeOrders
@@ -0,0 +1,2 @@
1
+ from investfly.utils import CommonUtils
2
+ from investfly.utils.PercentBasedPortfolioAllocator import PercentBasedPortfolioAllocator
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2023+ Investfly, Finverse LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.1
2
+ Name: investfly-sdk
3
+ Version: 1.0
4
+ Summary: Investfly SDK
5
+ Author-email: "Investfly.com" <admin@investfly.com>
6
+ License: The MIT License (MIT)
7
+
8
+ Copyright (c) 2023+ Investfly, Finverse LLC
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+ Project-URL: Homepage, https://www.investfly.com
28
+ Classifier: Programming Language :: Python :: 3
29
+ Classifier: License :: OSI Approved :: MIT License
30
+ Classifier: Operating System :: OS Independent
31
+ Requires-Python: >=3.7
32
+ Description-Content-Type: text/markdown
33
+ License-File: LICENSE.txt
34
+ Requires-Dist: certifi ==2023.7.22
35
+ Requires-Dist: charset-normalizer ==3.2.0
36
+ Requires-Dist: idna ==3.4
37
+ Requires-Dist: pandas ==2.0.3
38
+ Requires-Dist: pandas-stubs ==2.0.3.230814
39
+ Requires-Dist: pandas-ta ==0.3.14b0
40
+ Requires-Dist: python-dateutil ==2.8.2
41
+ Requires-Dist: pytz ==2023.3
42
+ Requires-Dist: requests ==2.31.0
43
+ Requires-Dist: types-requests ==2.31.0.2
44
+ Requires-Dist: six ==1.16.0
45
+ Requires-Dist: tzdata ==2023.3
46
+ Requires-Dist: urllib3 ==1.26.15
47
+ Requires-Dist: numpy ==1.26.4
48
+
49
+ # About
50
+
51
+ Python-SDK to work with Investfly API.
52
+ [Investfly](https://www.investfly.com)
53
+